Informações de construção no Tradefed

Build Info no TF é um objeto amplamente usado para transportar recursos para configuração e execução de testes. Tudo, desde imagens de dispositivos até APKs de teste, é armazenado ou vinculado nas informações de compilação para ser encontrado. Isso permite uma maneira unificada de acessar recursos de teste de um teste e desacoplar o teste da obtenção de recursos de teste.

Propriedades de informações da compilação

As duas propriedades principais dos objetos de informações de compilação são atributos e arquivos:

  • Atributos - Eles podem ser adicionados via #addBuildAttribute() ; eles representam rótulos e informações de string para as compilações. Os atributos podem ser usados ​​para armazenar informações relacionadas à compilação.
  • Arquivos : Eles podem ser adicionados via setFile() ; o arquivo será rastreado e gerenciado pelo Build Info durante o ciclo de vida da invocação (por exemplo, tratado adequadamente durante a fragmentação). Isso evita a necessidade de o teste saber qualquer coisa sobre o sistema de arquivos e, em vez disso, pode simplesmente confiar no objeto Build Info abstraído para obter seus recursos.

NOTA: Os arquivos devem sempre ser armazenados em Files e não em Attributes como um caminho absoluto. Os atributos são tratados como strings java puras e a referência pode ser invalidada durante parte do ciclo de vida da invocação.

Informações de compilação em vários dispositivos

Quando uma configuração de teste é definida com vários dispositivos, um objeto Build Info existirá por dispositivo. Isso permite solicitar e direcionar arquivos de um dispositivo para outro.

Informações de compilação em várias compilações

É possível exigir compilações de vários destinos. Nesses casos, um objeto Build Info existirá por destino. Isso permite solicitar e direcionar arquivos de qualquer destino.

Protoformato

O Build Info é serializável em um formato protobuf para facilitar seu uso nos sistemas, se necessário.