Écrire un test shell dans la Fédération du commerce,Écrire un test shell dans la Fédération du commerce

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.