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. Các hàm này 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ụ: thay đổi giá trị thuộc tính hệ thống.

SSC chủ yếu được 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 thử; nhưng nếu họ quên, hãy cung cấp dấu vết để có thể giải quyết vấn đề.

Một mục đích sử dụng phụ là khôi phục trạng thái ban đầu khi có thể, chẳng hạn như đóng khoá phím nếu khoá phím đang 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 tệp XML cấu hình Tradefed.

Triển khai

Mọi SSC đều 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 trạng thái đó với trạng thái sau mô-đun.

Có một số cách triển khai mẫu trong Tradefeed. Mỗi cách triển khai nên 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 sẽ 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, hàm này 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 sẽ trả về StatusCheckerResult, cho phép bộ điều khiển quyết định xem có nên thu thập thêm thông tin (chẳng hạn như báo cáo lỗi) hay không.

Các giá trị này được xác định ở đâ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 thu thập cho lệnh gọi có tên tuân theo định dạng bugreport-checker-post-module-<module name>.zip.

Điều này cho phép bạn tìm hiểu báo cáo lỗi được tạo sau mô-đun nào.

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