Vorlagen und Inhalte in der Tradefed-XML-Konfiguration

Das Erstellen einer monolithischen XML-Konfiguration zum Definieren eines Tests ist nicht immer praktisch sein. Wenn Sie einen Teil der Einrichtung für ähnliche Tests wiederverwenden möchten, müssten dann zwei riesige XML-Dateien kopieren und pflegen.

Hier werden template- und include-Tags in der Tradefed-XML-Konfiguration verwendet. hilfreich sind. Sie ermöglichen es Ihnen, Platzhalter in Konfiguration, um einen Teil einer anderen XML-Konfiguration hinzuzufügen.

Beispieldefinition für Vorlagen

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <template-include name="preparers" default="empty" />

    <template-include name="test" default="empty" />

    <template-include name="reporters" default="empty" />
</configuration>

Vorlagen sind Platzhalter mit einem name, um darauf zu verweisen, und einem optionalen default. Das Standardfeld definiert die standardmäßige Ersatz-XML, verwendet werden sollte.

Um eine Vorlage für eine bestimmte Konfiguration zu ersetzen, führt der folgende Befehl muss der Befehlszeile hinzugefügt werden:

--template:map <name of template>=<replacement XML config path>

--template:map preparers=empty

Beispiel:

<template-include name="preparers" default="empty" />

Der Verweis empty bezieht sich in diesem Fall auf die Konfiguration empty.xml, die nichts enthält; verwenden wir es als Referenz, um durch nichts zu ersetzen.

Der Pfad von XML-Konfigurationen kann absolut oder relativ zum Ordner res/config sein in den JAR-Ressourcen von Tradefed. Hier einige ihrer Standorte:

  • Tools/tradefederation/core/res/config
  • Tools/tradefederation/core/tests/res/config
  • Tools/tradedeferation/contrib/res/config

Beispieldefinition von „Einschließen“

<configuration description="Common base configuration for local runs with minimum overhead">
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <include name="empty"/>
</configuration>

Einschließlich ist einfacher als Vorlagen, da sie keine Befehlszeilenargumente erfordern. wird die referenzierte XML-Datei im name-Tag direkt erweitert. Ähnlich wie bei Vorlagen Der Pfad zur Konfiguration kann absolut oder relativ sein. Für includes haben wir trotzdem empfehlen, nur relative Pfade zu verwenden, da diese in Tradefed besser übertragbar sind. Absolute Pfade wären nicht gültig, wenn Tradefed auf einen anderen Computer verschoben wird.

Fehlerhafte Konfiguration

Bei einer fehlerhaften Konfiguration, z. B. wenn die Ersatz-XML-Datei nicht gefunden werden kann, Tradefed wirft eine ConfigurationException mit einer Beschreibung dessen aus, fehlen oder falsch konfiguriert sein.