Pemeriksa status sistem (SSC) didefinisikan pada konfigurasi tingkat suite dan yang berjalan di antara setiap modul. Mereka melakukan pemeriksaan untuk menentukan apakah modul berubah dan tidak memulihkan beberapa status tertentu, misalnya mengubah properti sistem dengan sejumlah nilai.
SSC terutama digunakan untuk memastikan bahwa penulis modul tidak lupa untuk membersihkan setelah mereka diuji; tetapi jika ya, berikan jejaknya agar dapat diatasi.
Penggunaan sekundernya adalah untuk juga memulihkan status awal jika memungkinkan, misalnya menutup pengaman 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
dalam konfigurasi Tradefed
XML.
Implementasi
Setiap SSC harus menerapkan ISystemStatusChecker
antarmuka,
yang menyediakan dua metode utama preExecutionCheck
dan postExecutionCheck
yang berjalan sebelum dan
setelah setiap eksekusi modul.
Pemeriksa mungkin saja menerapkan hanya salah satu dari keduanya, atau menerapkan baik jika ada kebutuhan untuk memeriksa status sebelum modul dan membandingkannya dengan status setelah modul.
Beberapa contoh
penerapan
ada di Tradefed. Setiap penerapan direkomendasikan untuk berfokus pada satu pemeriksaan
untuk meningkatkan penggunaan kembali. Misalnya,
SystemServerStatusCheck
memeriksa apakah proses system_server
dimulai ulang pada perangkat selama
dan menjalankan pengujian suite. Di postExecutionCheck
, fungsi ini memanggil deviceSoftRestarted
,
yang didefinisikan dalam
NativeDevice
untuk memeriksa apakah proses system_server
dimulai ulang.
Setiap operasi menampilkan
StatusCheckerResult
,
yang memungkinkan perangkat tersebut memutuskan apakah
ada informasi tambahan, seperti laporan {i>bug<i},
yang seharusnya ditangkap.
Di mana mereka didefinisikan dalam CTS?
Pemeriksa status sistem CTS didefinisikan dalam /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
ditangkap untuk pemanggilan dengan nama yang mengikuti format
bugreport-checker-post-module-<module name>.zip
.
Hal ini memungkinkan Anda mengetahui setelah modul mana laporan bug dibuat.
Pemeriksa sistem melaporkan sebagai
kegagalan uji itu sendiri dengan
menetapkan opsi --report-system-checkers
ke true
. Hal ini menghasilkan
uji coba ditampilkan sebagai gagal dengan alasan kegagalan sebagai pemeriksa status
pemeriksaan tertentu.