שימוש בבקרים של מודולים

כל מודול של חבילה (מוגדר על ידי AndroidTest.xml) יכול להכיל אובייקט module_controller מיוחד שיכול לשנות חלק מההתנהגות של המודול:

האם להריץ את המודול או לא, בהתאם לתנאים מסוימים

כדי להטמיע את BaseModuleController מוסיפים אותו ל-AndroidTest.xml כך:

<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />

בקר המודול ישמש כדי לקבוע אם המודול צריך לפעול או לא, על סמך ההטמעה של public abstract RunStrategy shouldRun(IInvocationContext context);.

האם לאסוף יומנים מסוימים במקרה של כשלים

כשמריצים חבילה מלאה, אפשר לבקש ברמת החבילה את האוסף של חלק מהיומנים במקרים של כשלים (צילום מסך, דיווח על באג, logcat). אבל במודולים מסוימים, ייתכן שלוג מסוים שמתבקש לא יכיל ערך כלשהו, ורק יבזבז זמן באיסוף שלו. במצב כזה, מודול יכול לציין במפורש באילו יומנים הוא מתעניין:

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

הערה: אם אפשר, כדאי להטמיע בקרים גנריים כדי למקסם את האפשרות לשימוש חוזר. אם מדלגים על מודול על סמך התנאי שלו, בעלי המודול צריכים לבדוק את זה כדי לאשר שהדילוג על המודול הוא ההתנהגות הנכונה במקרה שלהם.