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

सबसे पहले, सुनिश्चित करें कि आप ट्रेडफेड में ऑप्शन हैंडलिंग को समझते हैं।

सुइट सेटअप उन दो परतों का वर्णन करता है जो सुइट संरचना में मौजूद हैं:

  • शीर्ष-स्तरीय सुइट
  • मॉड्यूल

गैर-सूट ट्रेडफेड संदर्भ में, इसके बारे में सोचने की कोई आवश्यकता नहीं है; हर विकल्प पूर्ण आह्वान पर जाता है। सुइट के संदर्भ में, मॉड्यूल को सुइट से अलग रखा जाता है; इसलिए उनके स्तर पर सभी विकल्प उपलब्ध नहीं हैं।

शीर्ष-स्तरीय सुइट में विकल्प पास करें

शीर्ष-स्तरीय सूट मानक ट्रेडफेड कॉन्फ़िगरेशन की तरह व्यवहार करता है: सूट रनर सहित पूर्ण कॉन्फ़िगरेशन गैर-सूट ट्रेडफेड कॉन्फ़िगरेशन जैसे सभी विकल्प प्राप्त करता है।

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

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

यदि आप java_test_host बिल्ड लक्ष्य के हिस्से के रूप में अपने जावा टेस्ट क्लास में @Option जोड़ रहे हैं तो आपको उस विकल्प को इंजेक्ट करने के लिए निम्नलिखित का उपयोग करने की आवश्यकता होगी:

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>

सुइट में फ़िल्टर पास करें

किसी सूट से कुछ परीक्षणों को फ़िल्टर करने के लिए, हम --exclude-filter --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