Cómo escribir una prueba de shell en Trade Federation

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 y la fragmentación de pruebas.

Cómo escribir una prueba de shell

Tu secuencia de comandos de shell principal se ejecuta en el host. Otras secuencias de comandos o archivos binarios que se ejecutarán en el dispositivo y los archivos de datos necesarios deben enviarse primero al dispositivo. 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 se deben instalar junto con la prueba, especifícalos con la data_device_bins propiedad.

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

La prueba de shell ziptool-tests es un ejemplo de esto.

El resultado de la prueba para cada prueba se basa en el estado de salida de tu secuencia de comandos principal. Una prueba puede agotarse si se especificó per-binary-timeout.

Cómo configurar 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 para la prueba como el valor de la opción binary. Consulta otras opciones de ExecutableHostTest.

Si la secuencia de comandos requiere privilegios de administrador, agrega RootTargetPreparer a la configuración.