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

أولاً، تأكَّد من فهم التعامل مع الخيارات في سوق متداولة.

إعداد Suite يصف الطبقتين الموجودتين في بنية الحزمة:

  • جناح عالي المستوى
  • الوحدات

في سياق سوق مقايضة لا يرتبط بأجنحة، لا داعي للتفكير في الأمر؛ كلّ ينتقل إلى الاستدعاء الكامل. في سياق الحزمة، يتم الاحتفاظ بالوحدات معزولاً عن الجناح؛ لذلك لا تتوفر جميع الخيارات على مستواها.

تمرير الخيارات إلى مجموعة المستوى الأعلى

تتصرف حزمة المستوى الأعلى مثل تهيئة التجارة القياسية: مجموعة البيانات والتهيئة بما في ذلك عداء الجناح جميع الخيارات مثل الإعدادات المقايضة التي لا تستند إلى أجنحة.

تمرير الخيارات إلى الوحدات

لا تتلقى الوحدات بشكل افتراضي أيًا من الخيارات التي يتم تمريرها إلى الأمر. ويجب أن يتم استهدافهم بشكلٍ صريح لتلقّي الخيارات من خلال الخيار 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_test_host، ستحتاج إلى استخدام ما يلي لإدخال الخيار:

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

set-option في هذا السياق هو خيار عدّاء HostTest من خلال حزام الاختبار يلتف فئات جافا لتنفيذها.

إذا كان هدف ملف 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