सुइट में मौजूद फिर से कोशिश करने की सुविधा का इस्तेमाल करें

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

ऐसा हो सकता है कि अलग-अलग जांच में पूरी तरह से शामिल न होने की वजह से, कई टेस्ट फ़ेल हो जाएं या डिवाइसों को खराब स्थिति में पड़ सकता है.

सुइट में फिर से कोशिश करने की सुविधा, ऐसे मामलों को हल करने में मदद करती है: पूरी सुइट के बजाय फ़ेलियर खराब आइसोलेशन. अगर कोई टेस्ट लगातार फ़ेल हो रहा है, तो फिर से कोशिश भी नहीं हो पाती है; और तो आपको इस बात का बहुत अच्छा सिग्नल मिलेगा कि कारोबार में असल समस्या है.

सुइट में फिर से कोशिश करें

फिर से नतीजे पाने की कोशिश में, पिछले नतीजों को पढ़ना और क्वेरी के नतीजों को फिर से चलाना शामिल होता है पिछली बार शुरू किया गया.

फिर से कोशिश करने के लिए, मुख्य इंटरफ़ेस 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" />

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

इसके बाद, सीटीएस फिर से कोशिश करता है और test-record.pb और मौजूदा test_result.xml को फिर से कोशिश करें.