Créer des informations dans Tradefed

Build Info dans TF est un objet largement utilisé pour transporter des ressources pour la configuration et l'exécution des tests. Tout, des images de l'appareil aux APK de test, est stocké ou lié dans les informations de construction à trouver. Cela permet un moyen unifié d'accéder aux ressources de test à partir d'un test et de dissocier le test de l'obtention des ressources de test.

Propriétés des informations de construction

Les deux propriétés principales des objets d'informations de build sont les attributs et les fichiers :

  • Attributs - Ils peuvent être ajoutés via #addBuildAttribute() ; ils représentent des étiquettes et des informations de chaîne pour les builds. Les attributs peuvent être utilisés pour stocker des informations liées à la build.
  • Fichiers : Ils peuvent être ajoutés via setFile() ; le fichier sera suivi et géré par Build Info pendant le cycle de vie de l'appel (par exemple, correctement géré pendant le partitionnement). Cela évite au test d'avoir besoin de connaître quoi que ce soit sur le système de fichiers et peut simplement s'appuyer sur l'objet Build Info abstrait pour obtenir ses ressources.

REMARQUE : Les fichiers doivent toujours être stockés dans Files et non dans Attributes en tant que chemin absolu. Les attributs sont traités comme des chaînes Java pures et la référence peut être invalidée pendant une partie du cycle de vie de l'appel.

Créer des informations sur plusieurs appareils

Lorsqu’une configuration de test est configurée avec plusieurs appareils, un objet Build Info existera par appareil. Cela permet de demander et de cibler des fichiers d'un appareil à un autre.

Informations sur la construction dans les versions multiples

Il est possible d'exiger des builds à partir de plusieurs cibles. Dans ces cas, un objet Build Info existera par cible. Cela permet de demander et de cibler des fichiers à partir de n’importe quelle cible.

Format prototype

Build Info est sérialisable au format protobuf pour faciliter son utilisation sur tous les systèmes si nécessaire.