सुइट पुनः प्रयास का उपयोग करें

एक सूट में कई परीक्षण मॉड्यूल शामिल होते हैं और यह काफी बड़े परीक्षण कोष आकार तक पहुंच सकता है। उदाहरण के लिए, Android संगतता परीक्षण सूट (CTS) में सैकड़ों मॉड्यूल और सैकड़ों हज़ार परीक्षण मामले शामिल हैं।

खराब आइसोलेशन या उपकरणों के खराब स्थिति में जाने के कारण बड़ी मात्रा में परीक्षण विफल होना संभव हो जाता है।

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

सुइट पुनः प्रयास लागू करें

परिणामों के पुन: प्रयास में पिछले परिणामों को पढ़ना और पिछले आमंत्रण को फिर से चलाना शामिल है।

पुन: प्रयास करने वाला मुख्य इंटरफ़ेस ITestSuiteResultLoader है, जो आपको पिछले परिणाम और पिछली कमांड लाइन को लोड करने की अनुमति देता है।

RetryRescheduler तब इस जानकारी का उपयोग पिछले कमांड को फिर से बनाने के लिए करता है और कुछ फ़िल्टर को केवल पिछली विफलताओं या निष्पादित परीक्षणों को फिर से चलाने के लिए पॉप्युलेट करने के लिए उपयोग करता है।

उदाहरण सुइट पुनः प्रयास: CTS

सीटीएस में पुन: प्रयास विन्यास है:

<configuration description="Runs a retry of a previous CTS session.">
    <object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
    <test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />

    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="WARN" />
    </logger>
</configuration>

यह उन अधिकांश सुइट्स पर लागू होता है जो इसे विस्तारित करते हैं, उदाहरण के लिए VTS )।

इसके माध्यम से आह्वान किया जाएगा:

cts-tradefed run retry --retry <session>

सीटीएस कंसोल में पिछले परिणामों को सूचीबद्ध करके सत्र पाया जाएगा:

cts-tf > l r
Session  Pass  Fail  Modules Complete  Result Directory     Test Plan  Device serial(s)  Build ID   Product
0        2092  30    148 of 999        2018.10.29_14.12.57  cts        [serial]          P          Pixel

सटीक मूल कमांड को फिर से लोड किया जाएगा और अतिरिक्त फिल्टर के साथ फिर से चलाया जाएगा। इसका अर्थ यह है कि यदि आपके मूल आदेश में कुछ विकल्प शामिल हैं, तो वे भी पुनर्प्रयास का हिस्सा होंगे।

उदाहरण के लिए:

cts-tradefed run cts-dev -m CtsGestureTestCases

उपरोक्त का पुनः प्रयास हमेशा CtsGestureTestCases के लिए बाध्य होगा क्योंकि हम एक कमांड का पुनः प्रयास कर रहे हैं जिसमें केवल यह शामिल है।

CTS-शैली के सुइट के लिए पुन: प्रयास कॉन्फ़िगर करें

कार्य करने के लिए पुनः प्रयास करने के लिए, पिछले परिणामों को प्रोटो प्रारूप में निर्यात करने की आवश्यकता है। निम्नलिखित को जोड़ने की आवश्यकता है:

<result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />

इसे मुख्य कमांड के XML कॉन्फ़िगरेशन में जोड़ने की आवश्यकता है, और इसके परिणामस्वरूप परिणाम फ़ोल्डर में एक test-record.pb फ़ाइल बनाई जाएगी।

CTS फिर से प्रयास करने के लिए फिर से प्रयास करने के लिए test-record.pb और मौजूदा test_result.xml के संयोजन से डेटा लोड करता है।