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

ตัวตรวจสอบสถานะระบบ (SSC) จะกำหนดที่การกำหนดค่าระดับชุดโปรแกรม ทำงานระหว่างแต่ละโมดูล โดยจะดำเนินการตรวจสอบเพื่อพิจารณาว่าโมดูลมีการเปลี่ยนแปลงหรือไม่ แต่ไม่ได้กู้คืนสถานะที่ระบุ เช่น เปลี่ยนพร็อพเพอร์ตี้ของระบบ

เราใช้ SSC เป็นหลักเพื่อให้ผู้เขียนโมดูลไม่ลืมจัดระเบียบ หลังการทดสอบ แต่หากเป็นเช่นนั้น ให้ส่งร่องรอยของปัญหาเพื่อให้แก้ไขปัญหาได้

การใช้งานรองคือการกู้คืนสถานะเดิมหากเป็นไปได้ เช่น โดยการปิดการล็อกหากปุ่มล็อกเปิดทิ้งไว้

คำจำกัดความ 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 ทุก SSC จะต้องใช้ISystemStatusChecker อินเทอร์เฟซ ซึ่งมี 2 วิธีหลักคือ preExecutionCheck และ postExecutionCheck ที่ทำงานก่อนและหลังการดำเนินการแต่ละโมดูล

เครื่องมือตรวจสอบจะใช้เพียงตัวเลือกเดียวจาก 2 ตัวเลือก หรือจะใช้ ทั้งในกรณีที่จำเป็นต้องตรวจสอบสถานะก่อนโมดูล แล้วเปรียบเทียบ สถานะหลังโมดูล

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