ตัวตรวจสอบสถานะของระบบ (SSC) จะกำหนดไว้ในการกำหนดค่าระดับชุดซอฟต์แวร์และทำงานระหว่างแต่ละโมดูล โดยจะตรวจสอบว่าโมดูลมีการเปลี่ยนแปลงหรือไม่ และไม่ได้กู้คืนสถานะบางอย่าง เช่น การเปลี่ยนค่าพร็อพเพอร์ตี้ของระบบ
SSC ส่วนใหญ่ใช้เพื่อให้ผู้เขียนโมดูลไม่ลืมล้างข้อมูลหลังจากการทดสอบ แต่หากลืม ให้ระบุร่องรอยเพื่อให้แก้ไขได้
การใช้งานรองคือการกู้คืนสถานะเดิมเมื่อเป็นไปได้ เช่น การปิด Keyguard หากเปิดค้างไว้
คำจำกัดความ XML ของเครื่องมือตรวจสอบสถานะระบบ
<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" />
ระบบจะกำหนด SSC ใต้แท็ก system_checker
ใน XML การกำหนดค่าที่เทรด
การใช้งาน
SSC ทุกรายการต้องใช้ISystemStatusChecker
อินเทอร์เฟซ ซึ่งมี 2 วิธีการหลัก ได้แก่ preExecutionCheck
และ postExecutionCheck
ที่ทำงานก่อนและหลังการเรียกใช้แต่ละโมดูล
โปรแกรมตรวจสอบอาจใช้เพียงอย่างใดอย่างหนึ่งหรือทั้ง 2 อย่างก็ได้ หากจำเป็นต้องตรวจสอบสถานะก่อนโมดูลและเปรียบเทียบกับสถานะหลังโมดูล
มีตัวอย่างการใช้งานหลายรายการใน Tradefed เราขอแนะนำให้ใช้การตรวจสอบรายการเดียวในแต่ละการใช้งานเพื่อปรับปรุงความสามารถในการนํากลับมาใช้ใหม่ ตัวอย่างเช่น SystemServerStatusCheck
จะตรวจสอบว่ากระบวนการ system_server
รีสตาร์ทในอุปกรณ์ในระหว่างการใช้งานชุดทดสอบหรือไม่ ใน postExecutionCheck
ระบบจะเรียกใช้ deviceSoftRestarted
ซึ่งกำหนดไว้ใน
NativeDevice
เพื่อตรวจสอบว่ากระบวนการ system_server
รีสตาร์ทหรือไม่
การดำเนินการแต่ละรายการจะแสดงผลเป็น StatusCheckerResult
ซึ่งจะช่วยให้แฮนเดิลตัดสินใจได้ว่าควรบันทึกข้อมูลเพิ่มเติม เช่น รายงานข้อบกพร่อง หรือไม่
รายการเหล่านี้ได้รับการกําหนดไว้ใน CTS ตรงไหน
เครื่องมือตรวจสอบสถานะระบบ CTS จะกำหนดไว้ใน /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml
วิธีค้นหาข้อผิดพลาดของโปรแกรมตรวจสอบ
โดยค่าเริ่มต้น ความล้มเหลวของโปรแกรมตรวจสอบระบบจะแสดงเฉพาะในบันทึกและรายงานข้อบกพร่องที่บันทึกไว้สําหรับการเรียกใช้ที่มีชื่อตามรูปแบบbugreport-checker-post-module-<module name>.zip
ซึ่งจะช่วยให้คุณทราบว่ารายงานข้อบกพร่องสร้างขึ้นหลังจากโมดูลใด
คุณทำให้โปรแกรมตรวจสอบระบบรายงานเป็น "การทดสอบไม่สําเร็จ" ได้โดยการตั้งค่าตัวเลือก --report-system-checkers
เป็น true
ซึ่งส่งผลให้การทดสอบแสดงเป็น "ไม่สําเร็จ" โดยมีสาเหตุมาจากการตรวจสอบสถานะการตรวจสอบหนึ่งๆ