Memeriksa status sistem

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.