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

ตัวตรวจสอบสถานะระบบ (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 ใน XML การกำหนดค่า Tradefed

การนำไปปฏิบัติ

SSC ทุกตัวต้องใช้ อินเทอร์เฟซ ISystemStatusChecker ซึ่งมีวิธีการหลักสองวิธี preExecutionCheck และ postExecutionCheck ที่ทำงานก่อนและหลังการประมวลผลแต่ละโมดูล

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

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