เครื่องมือตรวจสอบสถานะระบบ (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
ในการกําหนดค่า Tradefed
XML
การใช้งาน
SSC ทุกรายการต้องใช้ISystemStatusChecker
อินเทอร์เฟซ
ซึ่งมีเมธอดหลัก 2 รายการคือ preExecutionCheck
และ postExecutionCheck
ที่ทำงานก่อนและหลังการดำเนินการแต่ละโมดูล
ผู้ตรวจสอบสามารถใช้เพียงอย่างใดอย่างหนึ่งหรือทั้ง 2 อย่างได้ หากจำเป็นต้องตรวจสอบสถานะก่อนโมดูลและเปรียบเทียบกับสถานะหลังโมดูล
ตัวอย่าง
การใช้งาน
หลายรายการมีอยู่ใน Tradefed ขอแนะนำให้การติดตั้งใช้งานแต่ละครั้งมุ่งเน้นที่การตรวจสอบเดียว
เพื่อปรับปรุงการนำกลับมาใช้ใหม่ เช่น
SystemServerStatusCheck
จะตรวจสอบว่ากระบวนการ system_server
รีสตาร์ทในอุปกรณ์ระหว่าง
การเรียกใช้ชุดทดสอบหรือไม่ ใน postExecutionCheck
จะเรียกใช้ deviceSoftRestarted
ซึ่งกำหนดไว้ใน
NativeDevice
เพื่อตรวจสอบว่ากระบวนการ system_server
เริ่มต้นใหม่หรือไม่
การดำเนินการแต่ละอย่างจะแสดงผล
StatusCheckerResult
ซึ่งช่วยให้ Harness ตัดสินใจได้ว่าจะบันทึกข้อมูลเพิ่มเติม เช่น รายงานข้อบกพร่อง
หรือไม่
มีการกำหนดค่าเหล่านี้ไว้ที่ใดใน 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
ซึ่งจะส่งผลให้การทดสอบแสดงว่าไม่สำเร็จ โดยมีสาเหตุที่ทำให้ไม่สำเร็จคือการตรวจสอบสถานะ
การตรวจสอบเฉพาะ