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

קודם כל, חשוב להבין את הטיפול באפשרויות ב-Trended.

ההגדרה Suite מתארת את שתי השכבות הקיימות מבנה החבילה:

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

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

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

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

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

מודולים כברירת מחדל לא מקבלים אף אחת מהאפשרויות שמועברות לפקודה. צריך לטרגט אותם באופן מפורש כדי לקבל את האפשרויות דרך אפשרות 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 כחלק יעד ה-build של 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