Écrire un test shell dans Trade Federation

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 transférés sur l'appareil. Vous pouvez le faire dans le script principal ou à l'aide de PushFilePreparer.

Si le test comporte des modules binaires d'appareils qui doivent être installés avec 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 de 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 des droits d'administrateur, ajoutez RootTargetPreparer à la configuration.