Écrire un test shell dans une fédération de commerce

Cette page explique comment écrire un test de shell. Si un test peut être effectué avec script shell, vous pouvez l'exécuter avec ExecutableHostTest. ExecutableHostTest est compatible avec le filtrage de test et test de segmentation.

Écrire un test de shell

Le script shell principal s'exécute sur l'hôte. D'autres scripts ou binaires à exécuter sur l'appareil et les fichiers de données requis doivent d'abord lui être transférés. Cette opération peut être effectuée dans le script principal ou à l'aide de PushFilePreparer.

Si le test comporte des modules binaires de l'appareil qui doivent être installés en même temps que de test, spécifiez-les avec data_device_bins .

sh_test {
    name: "module-name",
    ...
    data_device_bins: ["target-name"],
}

Test shell ziptool-tests en est un parfait 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 le 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épart d'autres options ExecutableHostTest.

Si le script nécessite un droit racine, ajoutez RootTargetPreparer à la configuration.