Objeto de configuração negociado

A configuração XML Tradefed é analisada e um objeto Configuration é criado a partir dele que descreve a configuração completa.

O objeto é descrito pela interface IConfiguration. ele conterá uma instância de todos os objetos definidos no XML.

Este exemplo:

<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>

Vai resultar em:

  • IConfiguration#getBuildProvider() para retornar uma instância do BootstrapBuildProvider .
  • IConfiguration#getTargetPreparers() para retornar uma lista de ITargetPreparer contendo uma instância de PreloadedClassesPreparer .
  • IConfiguration#getTests() para retornar uma lista de IRemoteTest contendo uma instância de HostTest .

Cada objeto no objeto de configuração pode ser mapeado para a definição XML, portanto, entender a definição XML geralmente ajuda a entender o que esperar do objeto de configuração.