सुइट और मॉड्यूल के लिए विकल्प और फ़िल्टर पास करें

सबसे पहले, पक्का करें कि आपको विकल्प मैनेज करने के तरीके के बारे में पता हो ट्रेडफेड में.

संकलन सेटअप, सुइट स्ट्रक्चर:

  • टॉप लेवल सुइट
  • मॉड्यूल

अगर कारोबार में सुइट नहीं हैं, तो इस बारे में सोचने की ज़रूरत नहीं है; हर विकल्प पूरी तरह से शुरू करना होता है. सुइट में, मॉड्यूल रखे जाते हैं को अलग से इकट्ठा किया जाएगा; इसलिए, उसके लेवल पर सभी विकल्प उपलब्ध नहीं हैं.

टॉप-लेवल सुइट के विकल्प पास करें

टॉप-लेवल सुइट, ट्रेडफ़ेड के स्टैंडर्ड कॉन्फ़िगरेशन की तरह काम करता है: पूरे कॉन्फ़िगरेशन के साथ-साथ सुइट रनर को कॉन्फ़िगर करने पर, उसे गैर-सुइट ट्रेडेड कॉन्फ़िगरेशन.

मॉड्यूल के विकल्प पास करें

डिफ़ॉल्ट रूप से मॉड्यूल को कमांड को दिए गए विकल्पों में से कोई भी नहीं मिलता. उन्हें खास तौर पर टारगेट किया जाना चाहिए, ताकि वे 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 सिर्फ़ इन चीज़ों को लागू करने पर काम करता है Iरिमोटटेस्ट विकल्पों के संभावित रिसीवर के रूप में.

java_test_host में Java टेस्ट क्लास के लिए विकल्प पास करें

अगर आप अपनी जावा टेस्ट क्लास में @Option को java_test_host बिल्ड टारगेट को इंजेक्ट करने के लिए आपको नीचे दिए गए कोड का इस्तेमाल करना होगा विकल्प:

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

इस संदर्भ में सेट-विकल्प, टेस्ट हार्नेस से HostTest रनर का विकल्प है जो आपकी जावा क्लास को एक्ज़ीक्यूट करने के लिए रैप करती है.

अगर विकल्पों के लिए आपके जार फ़ाइल टारगेट में कई टेस्ट क्लास शामिल हैं, डिफ़ॉल्ट रूप से, उन सभी से उम्मीद की जाती है कि @option सिंगल क्लास को टारगेट करने के लिए सिंटैक्स का इस्तेमाल करें:

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