העבר אפשרויות ומסננים לסוויטה ולמודולים

ראשית, ודא שאתה מבין את הטיפול באופציות ב-Tradefed.

הגדרת הסוויטה מתארת ​​את שתי השכבות הקיימות במבנה הסוויטה:

  • הסוויטה ברמה העליונה
  • המודולים

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

העבר אפשרויות לסוויטה ברמה העליונה

הסוויטה ברמה העליונה מתנהגת כמו תצורה רגילה של Tradefed: התצורה המלאה כולל רץ החבילות מקבלת את כל האפשרויות כמו תצורת Tradefed שאינה חבילה.

העבר אפשרויות למודולים

מודולים כברירת מחדל אינם מקבלים אף אחת מהאפשרויות המועברות לפקודה. הם צריכים להיות ממוקדים במפורש כדי לקבל את האפשרויות דרך אפשרות module-arg . בידוד זה של אפשרויות המודולים מקל על ניפוי באגים.

דוגמא:

cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>

cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true

התחביר מבטיח שהמודול הממוקד יקבל את האפשרות הנתונה.

ישנן דרכים נוספות להעביר אפשרויות למודולים כגון test-arg , המאפשרת להעביר אפשרויות לרץ המבחן של כל מודול על סמך סוג הרץ או המחלקה.

דוגמא:

cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>

cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true

התחביר אינו מכוון למודול מסוים אלא לכל רצי המבחן של המחלקה הנתונה. test-arg רואה רק יישומים של IRemoteTest כמקבל פוטנציאלי של האפשרויות.

העברת אפשרויות לשיעור מבחן Java ב-java_test_host

אם אתה מוסיף @Option למחלקת הבדיקה שלך ב-Java כחלק מיעד בנייה של java_test_host, תצטרך להשתמש בדברים הבאים כדי להזרים את האפשרות הזו:

cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>

set-option בהקשר זה היא האפשרות של רץ ה-HostTest מתוך רתמת הבדיקה שעוטפת את שיעורי ה-Java שלך כדי לבצע אותם.

אם יעד קובץ ה-jar שלך עבור האפשרויות מכיל מחלקות בדיקה מרובות, כברירת מחדל, בכולן צפויה האופציה @תצוין או להשתמש בתחביר הבא כדי למקד למחלקה אחת:

cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>

העבירו מסננים לסוויטה

כדי לסנן כמה בדיקות מחבילה, אנו משתמשים --include-filter ו-- --exclude-filter כדי לכפות בהתאמה לכלול או לא לכלול בדיקה או מודול מסוים. להדרה יש עדיפות.

הם משתמשים בפורמט הזה: [abi] <module-name> [test name]

דוגמאות:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes