Cette page décrit comment écrire un test shell. Si un test peut être effectué avec un script shell, vous pouvez l'exécuter avec ExecutableHostTest
. ExecutableHostTest
prend en charge le filtrage des tests et le partitionnement 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 transférés sur l'appareil. Cela peut être fait dans le cadre du script principal ou en utilisant PushFilePreparer
.
Si le test comporte des modules binaires de périphérique qui doivent être installés parallèlement au test, spécifiez-les avec la propriété data_device_bins
.
sh_test {
name: "module-name",
...
data_device_bins: ["target-name"],
}
Le test Shell ziptool-tests
en est un exemple.
Le résultat du test pour 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 le programme d'exécution 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
. Découvrez les autres options ExecutableHostTest
.
Si le script nécessite le privilège root, ajoutez RootTargetPreparer
à la configuration.