सिस्टम का स्टेटस देखना

सिस्टम स्टेटस चेकर (एसएससी) को सुइट-लेवल के कॉन्फ़िगरेशन में तय किया जाता है और को हर मॉड्यूल के बीच चलाया जा सकता है. वे जांच करके पता लगाते हैं कि मॉड्यूल बदला है या नहीं साथ ही, कुछ खास स्थितियों को पहले जैसा नहीं किया हो. जैसे, सिस्टम की किसी प्रॉपर्टी को बदलना वैल्यू.

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

दूसरा इस्तेमाल, ज़रूरत पड़ने पर ओरिजनल स्थिति को पहले जैसा करने के लिए भी किया जाता है. उदाहरण के लिए, अगर कीगार्ड को खुला छोड़ दिया गया था, तो उसे खारिज करना.

सिस्टम स्टेटस चेकर एक्सएमएल की परिभाषा

<system_checker class="com.android.tradefed.suite.checker.KeyguardStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.LeakedThreadStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.SystemServerStatusChecker" />

एसएससी, Tradefed कॉन्फ़िगरेशन के एक्सएमएल में system_checker टैग के तहत तय किए जाते हैं.

लागू करना

हर एसएससी को ISystemStatusChecker लागू करना होगा इंटरफ़ेस, यह दो मुख्य तरीके preExecutionCheck और postExecutionCheck जो हर मॉड्यूल के एक्ज़ीक्यूशन से पहले और बाद में चलते हैं.

चेकर, इनमें से सिर्फ़ एक को लागू कर सकता है. अगर मॉड्यूल से पहले की स्थिति की जांच करनी है और उसकी तुलना मॉड्यूल के बाद की स्थिति से करनी है, तो दोनों को लागू किया जा सकता है.

कई उदाहरण लागू करना ट्रेडफ़ेड में मौजूद हैं. हर लागू करने का सुझाव, एक ही जांच पर देने के लिए दिया जाता है ताकि पेज को फिर से इस्तेमाल करने लायक बनाया जा सके. उदाहरण के लिए, SystemServerStatusCheck यह जांच करता है कि जांच के सुइट को चलाने के दौरान, डिवाइस पर system_server प्रोसेस फिर से शुरू हुई या नहीं. postExecutionCheck में, यह deviceSoftRestarted, जो NativeDevice यह देखने के लिए कि system_server प्रोसेस रीस्टार्ट हुई है या नहीं.

हर कार्रवाई रिटर्न करती है StatusCheckerResult इससे हार्नेस को यह तय करने में मदद मिलती है कि गड़बड़ी की रिपोर्ट जैसी अतिरिक्त जानकारी कैप्चर किया जाना चाहिए.

सीटीएस में इन्हें कहां परिभाषित किया जाता है?

सीटीएस सिस्टम के स्टेटस की जांच करने वाले टूल, /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml में तय किए गए हैं.

जांच में असफल होने की जानकारी पाने का तरीका

डिफ़ॉल्ट रूप से, सिस्टम चेकर की गड़बड़ियां सिर्फ़ लॉग में दिखती हैं. साथ ही, bugreport-checker-post-module-<module name>.zip फ़ॉर्मैट के हिसाब से नाम वाले इनवोकेशन के लिए कैप्चर की गई गड़बड़ी की रिपोर्ट के तौर पर भी दिखती हैं.

इससे आपको यह पता चलता है कि गड़बड़ी की रिपोर्ट किस मॉड्यूल के बाद जनरेट हुई थी.

सिस्टम चेकर रिपोर्ट को टेस्ट फ़ेलियर के तौर पर --report-system-checkers विकल्प को true पर सेट कर रही हूँ. इस वजह से, जांच पूरी नहीं हो पाती और जांच के नतीजे के तौर पर 'पूरी नहीं हुई' दिखता है.