Chaque module de suite (défini par AndroidTest.xml
) peut contenir un élément spécial
Objet module_controller
pouvant modifier certains comportements du module:
Exécuter ou non le module en fonction de certaines conditions
En implémentant BaseModuleController
et en l'ajoutant à AndroidTest.xml
comme suit:
<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />
Le contrôleur de module permet de déterminer si le module doit s'exécuter
ou non, en fonction
public abstract RunStrategy shouldRun(IInvocationContext context);
la mise en œuvre.
S'il faut collecter des journaux en cas d'échec ou non
Lors de l'exécution d'une suite complète, il est possible de demander au niveau de la suite la collecte de certains journaux sur les échecs (capture d'écran, rapport de bug, logcat). Mais pour pour certains modules, un journal spécifique demandé peut ne pas avoir de valeur et perdent simplement du temps à être collectées. Dans ce cas, un module peut explicitement spécifiez les journaux qui l'intéressent:
<object type="module_controller"
class="com.android.tradefed.testtype.suite.module.TestFailureModuleController">
<option name="screenshot-on-failure" value="<true OR false>" />
<option name="bugreportz-on-failure" value="<true OR false>" />
<option name="logcat-on-failure" value="<true OR false>" />
</object>
REMARQUE: La mise en œuvre des contrôleurs doit être, dans la mesure du possible, générique afin de maximiser la réutilisation. Ignorer un module en fonction de sa condition être examinés par le propriétaire du module afin d'obtenir l'approbation que l'omission d'un module est le comportement approprié pour eux.