ตรวจสอบสถานะระบบ

เครื่องมือตรวจสอบสถานะระบบ (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 ซึ่งจะส่งผลให้การทดสอบแสดงว่าไม่สำเร็จ โดยมีสาเหตุที่ทำให้ไม่สำเร็จคือการตรวจสอบสถานะ การตรวจสอบเฉพาะ