Cette page explique comment écrire un test de 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 de shell
Le 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 transmis à l'appareil.
Vous pouvez le faire dans le 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 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 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 de 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 en tant que valeur de l'option binary
. Découvrez les autres options ExecutableHostTest
.
Si le script nécessite des droits d'administrateur, ajoutez RootTargetPreparer
à la configuration.