Kiểm tra trạng thái hệ thống

Trình kiểm tra trạng thái hệ thống (SSC) được xác định ở cấu hình cấp bộ và chạy giữa mỗi mô-đun. Họ thực hiện kiểm tra để xác định xem mô-đun có thay đổi và không khôi phục một số trạng thái nhất định hay không, ví dụ như thay đổi giá trị thuộc tính hệ thống.

SSC chủ yếu được sử dụng để đảm bảo rằng người viết mô-đun không quên dọn dẹp sau khi kiểm tra; nhưng nếu có, hãy cung cấp dấu vết của nó để có thể giải quyết.

Công dụng thứ hai là khôi phục trạng thái ban đầu khi có thể, chẳng hạn như tắt khóa bảo vệ nếu nó vẫn mở.

Định nghĩa XML của trình kiểm tra trạng thái hệ thống

<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 được xác định trong thẻ system_checker trong XML cấu hình Tradefed.

Thực hiện

Mọi SSC phải triển khai giao diện ISystemStatusChecker , giao diện này cung cấp hai phương thức chính preExecutionCheckpostExecutionCheck chạy trước và sau mỗi lần thực thi mô-đun.

Trình kiểm tra có thể chỉ triển khai một trong hai hoặc triển khai cả hai nếu cần kiểm tra trạng thái trước mô-đun và so sánh nó với trạng thái sau mô-đun.

Một số ví dụ triển khai tồn tại trong Tradefed. Mỗi lần triển khai được khuyến nghị tập trung vào một lần kiểm tra duy nhất để cải thiện khả năng sử dụng lại. Ví dụ: SystemServerStatusCheck kiểm tra xem quy trình system_server có khởi động lại trên thiết bị trong quá trình thực thi bộ kiểm thử hay không. Trong postExecutionCheck , nó gọi deviceSoftRestarted , được xác định trong NativeDevice để kiểm tra xem quy trình system_server có khởi động lại hay không.

Mỗi thao tác trả về StatusCheckerResult , cho phép bộ khai thác quyết định xem có nên thu thập thông tin bổ sung, chẳng hạn như báo cáo lỗi hay không.

Chúng được định nghĩa ở đâu trong CTS?

Trình kiểm tra trạng thái hệ thống CTS được xác định trong /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml .

Cách tìm lỗi của trình kiểm tra

Theo mặc định, lỗi của trình kiểm tra hệ thống chỉ hiển thị trong nhật ký và dưới dạng báo cáo lỗi được ghi lại cho lệnh gọi có tên theo định dạng bugreport-checker-post-module-<module name>.zip .

Điều này cho phép bạn tìm ra mô-đun nào đã tạo ra báo cáo lỗi.

Có thể đặt báo cáo của trình kiểm tra hệ thống dưới dạng lỗi kiểm tra bằng cách đặt tùy chọn --report-system-checkers thành true . Điều này dẫn đến việc chạy thử hiển thị là không thành công với lý do thất bại là do kiểm tra cụ thể của trình kiểm tra trạng thái.