Memeriksa status sistem

Pemeriksa status sistem (SSC) ditentukan pada konfigurasi level suite dan dijalankan di antara setiap modul. Pemeriksaan ini dilakukan untuk menentukan apakah modul berubah dan tidak memulihkan beberapa status tertentu, misalnya mengubah nilai properti sistem.

SSC terutama digunakan untuk memastikan bahwa penulis modul tidak lupa untuk membersihkan setelah pengujian; tetapi jika mereka lupa, berikan pelacakannya agar dapat ditangani.

Penggunaan sekundernya adalah juga memulihkan status asli jika memungkinkan, misalnya menutup pelindung kunci jika dibiarkan terbuka.

Definisi XML pemeriksa status sistem

<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 ditentukan dalam tag system_checker di XML konfigurasi Tradefed.

Implementasi

Setiap SSC harus mengimplementasikan antarmuka ISystemStatusChecker, yang menyediakan dua metode utama preExecutionCheck dan postExecutionCheck yang berjalan sebelum dan sesudah setiap eksekusi modul.

Pemeriksa dapat menerapkan salah satu dari keduanya, atau menerapkan keduanya jika perlu memeriksa status sebelum modul dan membandingkannya dengan status setelah modul.

Beberapa contoh implementasi ada di Tradefed. Setiap implementasi direkomendasikan untuk berfokus pada satu pemeriksaan guna meningkatkan kemampuan penggunaan kembali. Misalnya, SystemServerStatusCheck memeriksa apakah proses system_server dimulai ulang di perangkat selama eksekusi rangkaian pengujian. Di postExecutionCheck, metode ini memanggil deviceSoftRestarted, yang ditentukan dalam NativeDevice untuk memeriksa apakah proses system_server dimulai ulang.

Setiap operasi menampilkan StatusCheckerResult, yang memungkinkan harness memutuskan apakah informasi tambahan, seperti laporan bug, harus diambil.

Di mana mereka didefinisikan dalam CTS?

Pemeriksa status sistem CTS ditentukan di /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml.

Cara menemukan kegagalan pemeriksa

Secara default, kegagalan pemeriksa sistem hanya ditampilkan dalam log dan sebagai laporan bug yang diambil untuk pemanggilan dengan nama yang mengikuti format bugreport-checker-post-module-<module name>.zip.

Dengan begitu, Anda dapat mengetahui modul mana yang menghasilkan laporan bug.

Anda dapat membuat pemindai sistem melaporkan kegagalan pengujian itu sendiri dengan menetapkan opsi --report-system-checkers ke true. Hal ini menyebabkan pengujian berjalan dan ditampilkan sebagai gagal dengan alasan kegagalan adalah pemeriksaan tertentu dari pemeriksa status.