Rédaction d'un test Shell dans Trade Federation

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.

Ecrire 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 transmis à 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"],
}

Shell test ziptool-tests 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é.

Configuration d'un test shell

Dans la configuration Tradefed XML, 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.