Tradefed의 BuildInfo

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

BuildInfo 속성

BuildInfo 객체의 두 가지 기본 속성은 속성과 파일입니다.

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

여러 기기의 BuildInfo

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

여러 빌드의 BuildInfo

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

Proto 형식

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