Her paket modülü (AndroidTest.xml
tarafından tanımlanır), modülün bazı davranışlarını değiştirebilecek özel bir module_controller
nesnesi içerebilir:
Bazı koşullara bağlı olarak modülün çalışıp çalışmayacağı
BaseModuleController'ı uygulayıp AndroidTest.xml
'ye aşağıdaki gibi ekleyerek:
<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />
Modülün çalıştırılıp çalıştırılmaması, public abstract RunStrategy shouldRun(IInvocationContext context);
uygulamaya göre modül denetleyicisi tarafından belirlenir.
Hatalarda bazı günlüklerin toplanıp toplanmayacağı
Tam paket çalıştırırken hatalarla ilgili bazı günlüklerin (ekran görüntüsü, hata raporu, logcat) toplanması için paket düzeyinde istekte bulunabilirsiniz. Ancak bazı modüllerde, istenen belirli bir günlüğün herhangi bir değeri olmayabilir ve bu günlüğün toplanması zaman kaybına neden olur. Bu durumda modül, ilgilendiği günlükleri açıkça belirtebilir:
<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>
NOT: Yeniden kullanılabilirliği en üst düzeye çıkarmak için mümkünse denetleyicilerin uygulanması genel olmalıdır. Ayrıca, bir modülü atlamanın kendisi için uygun davranış olduğuna dair onay almak amacıyla, bir modülün durumuna göre atlanması modül sahibi tarafından incelenmelidir.