BuildInfo в Tradefed

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

Свойства BuildInfo

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

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

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

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

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

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

Прото-формат

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