Tradefed configuration object

Tradefed XML configuration is parsed, and a Configuration object is created from it that describes the complete configuration.

The object is described by the IConfiguration interface. it will contain an instance of all the objects defined in the XML.

This example:

<configuration description="<description of the configuration>">
    <!-- A build provider that takes local device information -->
    <build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />

    <!-- Some target preparation, disabled by default -->
    <target_preparer class="com.android.tradefed.targetprep.PreloadedClassesPreparer">
        <option name="disable" value="true" />
    </target_preparer>

    <!-- One test running some unit tests -->
    <test class="com.android.tradefed.testtype.HostTest">
        <option name="class" value="com.android.tradefed.build.BuildInfoTest" />
    </test>
</configuration>

Will result in:

  • IConfiguration#getBuildProvider() to return a BootstrapBuildProvider instance.
  • IConfiguration#getTargetPreparers() to return a list of ITargetPreparer containing an instance of PreloadedClassesPreparer.
  • IConfiguration#getTests() to return a list of IRemoteTest containing an instance of HostTest.

Every single object in the configuration object can be mapped to the XML definition, so understanding the XML definition usually helps to understand what to expect from the configuration object.