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.