Build-Informationen in Tradefed

Build Info in TF ist ein häufig verwendetes Objekt zum Transport von Ressourcen für Testaufbau und -läufe. Alles, von Gerätebildern bis hin zu Test-APKs, wird in den Build-Informationen gespeichert oder verlinkt, um gefunden zu werden. Dies ermöglicht eine einheitliche Möglichkeit, von einem Test aus auf Testressourcen zuzugreifen und den Test vom Abrufen von Testressourcen zu entkoppeln.

Build-Info-Eigenschaften

Die beiden Haupteigenschaften von Build-Info-Objekten sind Attribute und Dateien:

  • Attribute – Sie können über #addBuildAttribute() hinzugefügt werden; Sie stellen Beschriftungen und Zeichenfolgeninformationen für die Builds dar. Attribute können zum Speichern von Informationen zum Build verwendet werden.
  • Dateien : Sie können über setFile() hinzugefügt werden; Die Datei wird von Build Info während des Aufruflebenszyklus verfolgt und verwaltet (z. B. ordnungsgemäß während des Shardings behandelt). Dadurch muss der Test nichts über das Dateisystem wissen und kann sich stattdessen einfach auf das abstrahierte Build-Info-Objekt verlassen, um seine Ressourcen abzurufen.

HINWEIS: Dateien sollten immer in Files und nicht in Attributes als absoluter Pfad gespeichert werden. Attribute werden als reine Java-Strings behandelt und der Verweis könnte während eines Teils des Aufruflebenszyklus ungültig werden.

Build-Informationen auf mehreren Geräten

Wenn eine Testkonfiguration mit mehreren Geräten eingerichtet wird, ist pro Gerät ein Build-Info-Objekt vorhanden. Dies ermöglicht das Anfordern und Verteilen von Dateien von einem Gerät auf ein anderes.

Build-Info in Multi-Builds

Es ist möglich, Builds von mehreren Zielen anzufordern. In diesen Fällen ist pro Ziel ein Build-Info-Objekt vorhanden. Dies ermöglicht das Anfordern und Targeting von Dateien von jedem Ziel.

Proto-Format

Build-Informationen sind in einem Protobuf-Format serialisierbar, um die systemübergreifende Verwendung bei Bedarf zu vereinfachen.