BuildInfo в TensorFlow — широко используемый объект для хранения ресурсов, необходимых для настройки и запуска тестов. В BuildInfo хранится или связывается всё, от образов устройств до APK-файлов тестов. Это позволяет обеспечить унифицированный доступ к тестовым ресурсам из самого теста и отделить сам тест от процесса получения этих ресурсов.
Свойства BuildInfo
Двумя основными свойствами объектов BuildInfo являются атрибуты и файлы:
- Атрибуты можно добавлять с помощью
#addBuildAttribute(); они представляют собой метки и строковую информацию для сборок. Атрибуты можно использовать для хранения информации, связанной со сборкой. - Файлы можно добавлять с помощью
setFile(); файл отслеживается и управляется объектомBuildInfoна протяжении всего жизненного цикла вызова (например, корректно обрабатывается во время сегментирования). Это избавляет тест от необходимости знать что-либо о файловой системе и позволяет ему полагаться на абстрагированный объектBuildInfoдля получения необходимых ресурсов.
BuildInfo на нескольких устройствах
При настройке тестовой конфигурации с несколькими устройствами для каждого устройства существует отдельный объект BuildInfo . Это позволяет запрашивать и передавать файлы с одного устройства на другое.
BuildInfo в многокомпонентных сборках
Можно запрашивать сборки из нескольких целевых платформ. В таких случаях для каждой целевой платформы существует отдельный объект BuildInfo . Это позволяет запрашивать и выбирать файлы из любой целевой платформы.
Протоформат
BuildInfo сериализуется в формате protobuf, что упрощает его использование в разных системах при необходимости.