Cette page explique comment écrire un test shell. Si un test peut être effectué avec un
script shell, vous pouvez l'exécuter avec ExecutableHostTest. ExecutableHostTest est compatible avec le filtrage et la segmentation des tests.
Écrire un test shell
Votre script shell principal s'exécute sur l'hôte. Les autres scripts ou binaires à exécuter sur l'appareil et les fichiers de données requis doivent d'abord être envoyés à l'appareil.
Cela peut être fait dans le cadre du script principal ou à l'aide de PushFilePreparer.
Si le test comporte des modules binaires d'appareil qui doivent être installés en même temps que le
test, spécifiez-les avec data_device_bins
propriété.
sh_test {
name: "module-name",
...
data_device_bins: ["target-name"],
}
Le test shell ziptool-tests
en est un exemple.
Le résultat de chaque test est basé sur l'état de sortie de votre script principal.
Un test peut expirer si per-binary-timeout a été spécifié.
Configurer un test shell
Dans la configuration XML Tradefed, les tests shell sont exécutés via l'exécuteur ExecutableHostTest.
<test class="com.android.tradefed.testtype.binary.ExecutableHostTest" >
<option name="binary" value="your-test-script.sh" />
<option name="relative-path-execution" value="true" />
<option name="per-binary-timeout" value="15m" />
</test>
Définissez le script principal du test comme valeur de l'option binary. Consultez les autres options ExecutableHostTest.
Si le script nécessite un accès root, ajoutez RootTargetPreparer à la configuration.