BuildInfo in Tradefed

BuildInfo ist in TF ein weit verbreitetes Objekt, um Ressourcen für die Testeinrichtung und -ausführung zu übertragen. Alles von Gerätebildern bis hin zu Test-APKs wird in BuildInfo gespeichert oder verknüpft. So können Sie auf einheitliche Weise über einen Test auf Testressourcen zugreifen und den Test vom Abrufen von Testressourcen entkoppeln.

BuildInfo-Properties

Die beiden Haupteigenschaften von BuildInfo-Objekten sind Attribute und Dateien:

  • Mit #addBuildAttribute() können Attribute hinzugefügt werden. Sie stellen Labels und Stringinformationen für die Builds dar. Mit Attributen können Informationen zum Build gespeichert werden.
  • Dateien können mit setFile() hinzugefügt werden. Die Datei wird während des Aufruflebenszyklus von BuildInfo erfasst und verwaltet (z. B. ordnungsgemäße Verarbeitung beim Sharding). So muss der Test nichts über das Dateisystem wissen und kann stattdessen das abstrakte BuildInfo-Objekt verwenden, um seine Ressourcen abzurufen.

BuildInfo auf mehreren Geräten

Wenn eine Testkonfiguration mit mehreren Geräten eingerichtet wird, gibt es ein BuildInfo-Objekt pro Gerät. So können Dateien von einem Gerät an ein anderes angefordert und darauf ausgerichtet werden.

BuildInfo in Multi-Builds

Es ist möglich, Builds aus mehreren Zielen anzufordern. In diesen Fällen gibt es pro Ziel ein BuildInfo-Objekt. So können Dateien von jedem Ziel angefordert und darauf ausgerichtet werden.

Proto-Format

BuildInfo kann in einem Protobuf-Format serialisiert werden, um die Nutzung bei Bedarf systemübergreifend zu erleichtern.