Información de compilación en Tradefed

Build Info en TF es un objeto ampliamente utilizado para transportar recursos para la configuración y ejecución de pruebas. Todo, desde imágenes de dispositivos hasta APK de prueba, se almacena o vincula en la información de compilación que se encuentra. Esto permite una forma unificada de acceder a los recursos de prueba desde una prueba y desacoplar la prueba de la obtención de recursos de prueba.

Propiedades de información de compilación

Las dos propiedades principales de los objetos de información de compilación son los atributos y los archivos:

  • Atributos : se pueden agregar mediante #addBuildAttribute() ; representan etiquetas e información de cadenas para las compilaciones. Los atributos se pueden utilizar para almacenar información relacionada con la compilación.
  • Archivos : se pueden agregar mediante setFile() ; Build Info rastreará y administrará el archivo durante el ciclo de vida de la invocación (por ejemplo, lo manejará adecuadamente durante la fragmentación). Esto evita la necesidad de que la prueba sepa algo sobre el sistema de archivos y, en su lugar, puede simplemente confiar en el objeto Build Info abstraído para obtener sus recursos.

NOTA: Los archivos siempre deben almacenarse en Files y no en Attributes como ruta absoluta. Los atributos se tratan como cadenas de Java puras y la referencia podría invalidarse durante parte del ciclo de vida de la invocación.

Información de compilación en múltiples dispositivos

Cuando se configura una configuración de prueba con varios dispositivos, existirá un objeto de información de compilación por dispositivo. Esto permite solicitar y dirigir archivos de un dispositivo a otro.

Información de compilación en compilaciones múltiples

Es posible requerir compilaciones de varios objetivos. En estos casos, existirá un objeto de información de compilación por objetivo. Esto permite solicitar y seleccionar archivos desde cualquier destino.

formato de prototipo

Build Info es serializable en formato protobuf para facilitar su uso en todos los sistemas si es necesario.