Memeriksa status sistem

Pemeriksa status sistem (SSC) ditentukan pada konfigurasi tingkat rangkaian pengujian dan dijalankan di antara setiap modul. Mereka melakukan pemeriksaan untuk menentukan apakah modul berubah dan tidak memulihkan beberapa status tertentu, misalnya mengubah nilai properti sistem.

SSC terutama digunakan untuk memastikan penulis modul tidak lupa membersihkan setelah pengujiannya; tetapi jika mereka lupa, berikan rekaman aktivitasnya agar dapat ditangani.

Penggunaan sekunder adalah untuk 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 di bawah tag system_checker dalam XML konfigurasi Tradefed.

Implementasi

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

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

Beberapa contoh penerapan ada di Tradefed. Setiap penerapan 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, deviceSoftRestarted dipanggil, yang ditentukan di NativeDevice untuk memeriksa apakah proses system_server dimulai ulang.

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

Di mana mereka ditentukan 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 di log dan sebagai laporan bug yang direkam untuk pemanggilan dengan nama yang mengikuti format bugreport-checker-post-module-<module name>.zip.

Dengan begitu, Anda dapat mengetahui setelah modul mana laporan bug dibuat.

Pemeriksa sistem dapat membuat laporan sebagai kegagalan pengujian itu sendiri dengan menyetel opsi --report-system-checkers ke true. Hal ini menyebabkan pengujian ditampilkan sebagai gagal dengan alasan kegagalan adalah pemeriksaan tertentu pemeriksa status.