BuildInfo в Tradefed

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

Свойства BuildInfo

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

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

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

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

BuildInfo в многокомпонентных сборках

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

Протоформат

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