Tradefed의 BuildInfo

BuildInfo 은(는) TF에서 테스트 설정 및 실행을 위한 리소스를 전달하기 위한 용도로 널리 사용되는 객체입니다. BuildInfo에는 기기 이미지에서 테스트 APK에 이르는 모든 정보가 저장 또는 링크되어 있습니다. 이는 테스트에서 테스트 리소스에 액세스하고 테스트 리소스를 가져오는 과정에서 테스트를 분리하기 위한 통합된 방식을 제공합니다.

빌드 정보 속성

BuildInfo 객체는 주로 속성과 파일로 구성됩니다.

  • 속성#addBuildAttribute()를 통해 추가할 수 있으며 빌드의 라벨과 문자열 정보를 나타냅니다. 속성은 빌드와 관련된 정보를 저장하는 데 사용할 수 있습니다.
  • 파일setFile()을 통해 추가할 수 있습니다. 파일은 호출 수명 주기 도중에 BuildInfo에 의해 추적 및 관리됩니다 (예: 샤딩 도중에 제대로 처리됨). 이렇게 하면 테스트가 파일 시스템에 관해 아무것도 알아야 할 필요가 없으며 대신 추상화된 BuildInfo 객체에만 의존하여 리소스를 가져올 수 있습니다.

여러 기기의 빌드 정보

여러 기기로 테스트 구성이 설정되면 기기당 한 개의 BuildInfo 객체가 존재하게 됩니다. 이렇게 하면 기기에서 다른 기기로 파일을 요청하고 타겟팅할 수 있습니다.

여러 빌드의 빌드 정보

여러 타겟에서 빌드를 요구하는 것이 가능합니다. 이 경우 타겟당 한 개의 BuildInfo 객체만 존재하게 됩니다. 이렇게 하면 파일을 모든 타겟에서 요청하고 타겟팅할 수 있습니다.

Proto 형식

필요한 경우 BuildInfo를 protobuf 형식으로 직렬화하여 시스템 전체에서 더욱 쉽게 사용할 수 있습니다.