सिस्टम स्टेटस चेकर (एसएससी) को सुइट-लेवल के कॉन्फ़िगरेशन में तय किया जाता है और को हर मॉड्यूल के बीच चलाया जा सकता है. वे जांच करके पता लगाते हैं कि मॉड्यूल बदला है या नहीं साथ ही, कुछ खास स्थितियों को पहले जैसा नहीं किया हो. जैसे, सिस्टम की किसी प्रॉपर्टी को बदलना वैल्यू.
एसएससी का इस्तेमाल मुख्य रूप से यह पक्का करने के लिए किया जाता है कि मॉड्यूल राइटर फ़ाइलें खाली करना न भूलें उनके टेस्ट के बाद; लेकिन अगर वे हैं, तो उसका एक ट्रेस दें ताकि उसे ठीक किया जा सके.
दूसरा इस्तेमाल अगर संभव हो, तो मूल स्थिति को पहले जैसा करना भी होता है, उदाहरण के लिए अगर कीगार्ड को खुला छोड़ दिया गया था, तो उसे खारिज करना.
सिस्टम स्टेटस चेकर एक्सएमएल की परिभाषा
<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" />
एसएससी, ट्रेडेड कॉन्फ़िगरेशन में system_checker
टैग के तहत तय किए जाते हैं
एक्सएमएल.
लागू करना
हर एसएससी को ISystemStatusChecker
लागू करना होगा
इंटरफ़ेस,
जो दो मुख्य तरीके preExecutionCheck
और postExecutionCheck
देता है
जो हर मॉड्यूल के एक्ज़ीक्यूशन से पहले और बाद में चलती हैं.
जांच करने वाला व्यक्ति इन दोनों में से किसी एक को ही लागू कर सकता है या दोनों ही, अगर मॉड्यूल से पहले की स्थिति की जांच करने की ज़रूरत है और इसकी तुलना मॉड्यूल के बाद की स्थिति.
कई उदाहरण
लागू करना
ट्रेडफ़ेड में मौजूद हैं. हमारा सुझाव है कि हर लागू करने पर, एक ही जांच पर फ़ोकस करें
ताकि पेज को फिर से इस्तेमाल करने लायक बनाया जा सके. उदाहरण के लिए,
SystemServerStatusCheck
यह जांचता है कि क्याsystem_server
टेस्ट सुइट को एक्ज़ीक्यूट करना. postExecutionCheck
में, यह deviceSoftRestarted
,
जो
NativeDevice
यह देखने के लिए कि system_server
प्रोसेस फिर से शुरू हुई है या नहीं.
हर कार्रवाई रिटर्न करती है
StatusCheckerResult
इससे हार्नेस को यह तय करने में मदद मिलती है कि गड़बड़ी की रिपोर्ट जैसी अतिरिक्त जानकारी
कैप्चर किया जाना चाहिए.
सीटीएस में इन्हें कहां परिभाषित किया जाता है?
CTS सिस्टम स्टेटस चेकर इसमें परिभाषित किए गए हैं /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checks.xml.
जांच में गड़बड़ी का पता लगाने का तरीका
डिफ़ॉल्ट रूप से, सिस्टम चेकर फ़ेल होने की जानकारी सिर्फ़ लॉग में और गड़बड़ी की रिपोर्ट के तौर पर दिखती है
बातचीत शुरू करने के लिए कैप्चर किया गया, जिसका नाम इस फ़ॉर्मैट में दिया गया है
bugreport-checker-post-module-<module name>.zip
.
इससे आपको यह पता चलता है कि गड़बड़ी की रिपोर्ट किस मॉड्यूल के बाद जनरेट हुई थी.
सिस्टम चेकर रिपोर्ट को टेस्ट फ़ेलियर के तौर पर
--report-system-checkers
विकल्प को true
पर सेट कर रही हूँ. इस वजह से
'टेस्ट नहीं हो सका' के तौर पर दिखाया जा रहा है, क्योंकि 'स्टेटस चेकर' फ़ेलियर होने की वजह
की जांच करनी होगी.