قم بتمرير الخيارات والفلاتر إلى الجناح والوحدات النمطية

أولاً ، تأكد من فهمك للتعامل مع الخيارات في 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_test_host

إذا كنت تضيف @Option إلى فئة اختبار java كجزء من هدف بناء java_test_host ، فستحتاج إلى استخدام ما يلي لإدخال هذا الخيار:

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

set-option في هذا السياق هو خيار HostTest runner من أداة الاختبار التي تغلف فئات java الخاصة بك لتنفيذها.

إذا كان هدف ملف jar للخيارات يحتوي على فئات اختبار متعددة ، بشكل افتراضي ، فمن المتوقع أن يتم تحديد الخيار @ أو استخدام الصيغة التالية لاستهداف فئة واحدة:

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

تمرير المرشحات إلى الجناح

لتصفية بعض الاختبارات من مجموعة ، نستخدم --include- --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