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

Bộ 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. Chúng thực hiện các bước kiểm tra để xác định xem mô-đun có thay đổi hay không và không khôi phục lại một số trạng thái, ví dụ: thay đổi thuộc tính hệ thống giá trị.

SSC chủ yếu được dùng để đảm bảo người viết mô-đun không quên dọn dẹp sau quá trình thử nghiệm; nhưng nếu có, hãy cung cấp dấu vết của vấn đề để có thể giải quyết.

Mục đích phụ cũng là để khôi phục trạng thái ban đầu khi có thể, ví dụ: đóng khoá bàn phím nếu 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 ở cấu hình Tradefeed XML.

Triển khai

Mọi SSC phải triển khai ISystemStatusChecker giao diện, Cung cấp 2 phương thức chính là 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 cách nói trên, 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 với trạng thái sau mô-đun.

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

Mỗi toán tử trả về StatusCheckerResult! cho phép khai thác quyết định xem có thông tin bổ sung, chẳng hạn như báo cáo lỗi, cần được chụp.

Chúng được xác định ở đâu trong CTS?

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

Cách tìm các 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 giúp bạn biết được báo cáo lỗi được tạo sau mô-đun nào.

Bạn có thể tạo báo cáo cho trình kiểm tra hệ thống dưới dạng 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 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à trình kiểm tra trạng thái kiểm tra cụ thể.