En esta página, se describe cómo escribir una prueba de shell. Si una prueba se puede realizar con una secuencia de comandos de shell, puedes ejecutarla con ExecutableHostTest
. ExecutableHostTest
admite el filtrado de pruebas y
la fragmentación de pruebas.
Cómo escribir una prueba de shell
La secuencia de comandos de shell principal se ejecuta en el host. Primero, se deben enviar al dispositivo otras secuencias de comandos o objetos binarios para ejecutarse en él y los archivos de datos necesarios.
Esto se puede hacer como parte de la secuencia de comandos principal o con PushFilePreparer
.
Si la prueba tiene módulos binarios del dispositivo que deben instalarse junto con la prueba, especifícalos con la propiedad data_device_bins
.
sh_test {
name: "module-name",
...
data_device_bins: ["target-name"],
}
La prueba de shell ziptool-tests
es un ejemplo de esto.
El resultado de cada prueba se basa en el estado de salida de la secuencia de comandos principal.
Una prueba puede agotar el tiempo de espera si se especificó per-binary-timeout
.
Configura una prueba de shell
En la configuración XML de Tradefed, las pruebas de shell se ejecutan a través del ejecutor 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>
Establece la secuencia de comandos principal de la prueba como el valor de la opción binary
. Consulta otras opciones de ExecutableHostTest
.
Si la secuencia de comandos requiere privilegios de raíz, agrega RootTargetPreparer
a la configuración.