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

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

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

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

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

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

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

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

उदाहरण सुइट पुनः प्रयास करें: सीटीएस

सीटीएस में पुनः प्रयास कॉन्फ़िगरेशन है:

<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>

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

इसे इसके साथ लागू किया जाएगा:

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 से जुड़ा होता है क्योंकि हम एक कमांड का पुनः प्रयास कर रहे हैं जिसमें केवल यही शामिल है।

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

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

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

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

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