Tradefed의 빌드 정보

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

빌드 정보 속성

빌드 정보 객체는 주로 속성과 파일로 구성됩니다.

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

참고: 파일은 항상 Attributes가 아닌 Files에 절대 경로로 저장해야 합니다. 속성은 순수 자바 문자열로 취급되며 참조는 호출 수명 주기의 일부 기간 동안 무효화될 수 있습니다.

여러 기기의 빌드 정보

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

여러 빌드의 빌드 정보

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

Proto 형식

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