כתיבת בדיקת מעטפת ב-Trade Federation

בדף הזה מוסבר איך לכתוב בדיקת מעטפת. אם אפשר לבצע בדיקה באמצעות סקריפט shell, אפשר להריץ אותה באמצעות ExecutableHostTest. ‫ExecutableHostTest תומך בסינון בדיקות ובחלוקת בדיקות.

כתיבת בדיקת Shell

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

אם הבדיקה כוללת מודולים בינאריים של מכשירים שצריך להתקין לצד הבדיקה, מציינים אותם באמצעות המאפיין data_device_bins.

sh_test {
    name: "module-name",
    ...
    data_device_bins: ["target-name"],
}

דוגמה לכך היא בדיקת מעטפת ziptool-tests.

תוצאת הבדיקה של כל בדיקה מבוססת על סטטוס היציאה של הסקריפט הראשי. אם צוין ערך ל-per-binary-timeout, יכול להיות שהבדיקה תסתיים בגלל חריגה מזמן קצוב.

הגדרת בדיקת מעטפת

בהגדרת XML של Tradefed, בדיקות shell מופעלות באמצעות רכיב ה-runner‏ ExecutableHostTest.

<test class="com.android.tradefed.testtype.binary.ExecutableHostTest" >
    <option name="binary" value="your-test-script.sh" />
    <option name="relative-path-execution" value="true" />
    <option name="per-binary-timeout" value="15m" />
</test>

מגדירים את הסקריפט הראשי של הבדיקה כערך של האפשרות binary. כדאי לעיין באפשרויות אחרות של ExecutableHostTest.

אם הסקריפט דורש הרשאת root, מוסיפים RootTargetPreparer להגדרה.