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.