सिस्टम स्टेटस चेकर (एसएससी) को सुइट-लेवल के कॉन्फ़िगरेशन में तय किया जाता है और को हर मॉड्यूल के बीच चलाया जा सकता है. वे जांच करके पता लगाते हैं कि मॉड्यूल बदला है या नहीं साथ ही, कुछ खास स्थितियों को पहले जैसा नहीं किया हो. जैसे, सिस्टम की किसी प्रॉपर्टी को बदलना वैल्यू.
एसएससी का इस्तेमाल मुख्य रूप से यह पक्का करने के लिए किया जाता है कि मॉड्यूल लिखने वाले लोग, टेस्ट के बाद क्लीन अप करना न भूलें. अगर वे ऐसा करते हैं, तो इसका पता लगाने के लिए एसएससी का इस्तेमाल किया जाता है, ताकि समस्या को ठीक किया जा सके.
दूसरा इस्तेमाल, ज़रूरत पड़ने पर ओरिजनल स्थिति को पहले जैसा करने के लिए भी किया जाता है. उदाहरण के लिए, अगर कीगार्ड को खुला छोड़ दिया गया था, तो उसे खारिज करना.
सिस्टम स्टेटस चेकर एक्सएमएल की परिभाषा
<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
पर सेट कर रही हूँ. इस वजह से, जांच पूरी नहीं हो पाती और जांच के नतीजे के तौर पर 'पूरी नहीं हुई' दिखता है.