BuildInfo в Tradefed

BuildInfo в TF — широко используемый объект для переноса ресурсов для настройки и запуска тестов. Все, от изображений устройств до тестовых APK, хранится или связывается в BuildInfo . Это позволяет унифицировать способ доступа к тестовым ресурсам из теста и отделить тест от получения тестовых ресурсов.

Свойства BuildInfo

Двумя основными свойствами объектов BuildInfo являются атрибуты и файлы:

  • Атрибуты можно добавлять с помощью #addBuildAttribute() ; они представляют метки и строковую информацию для сборок. Атрибуты можно использовать для хранения информации, связанной со сборкой.
  • Файлы можно добавлять с помощью setFile() ; файл отслеживается и управляется BuildInfo во время жизненного цикла вызова (например, правильно обрабатывается во время шардинга). Это позволяет избежать необходимости для теста знать что-либо о файловой системе и вместо этого может полагаться на абстрактный объект BuildInfo для получения своих ресурсов.

BuildInfo в нескольких устройствах

Когда тестовая конфигурация настроена с несколькими устройствами, на каждое устройство существует один объект BuildInfo . Это позволяет запрашивать и нацеливать файлы с одного устройства на другое.

BuildInfo в мультисборках

Можно требовать сборки из нескольких целей. В этих случаях для каждой цели существует один объект BuildInfo . Это позволяет запрашивать и нацеливать файлы из любой цели.

Прото формат

BuildInfo можно сериализовать в формате protobuf, что упрощает его использование в разных системах при необходимости.