Periksa status sistem

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

SSC terutama digunakan untuk memastikan bahwa penulis modul tidak lupa membersihkan setelah pengujian mereka; namun jika ya, berikan jejaknya agar dapat diatasi.

Kegunaan kedua adalah mengembalikan keadaan semula jika memungkinkan, misalnya menghilangkan pengaman tombol 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 didefinisikan di bawah tag system_checker dalam XML konfigurasi Tradefed.

Penerapan

Setiap SSC harus mengimplementasikan antarmuka ISystemStatusChecker , yang menyediakan dua metode utama preExecutionCheck dan postExecutionCheck yang dijalankan sebelum dan sesudah setiap eksekusi modul.

Pemeriksa dapat mengimplementasikan hanya salah satu dari keduanya, atau mengimplementasikan keduanya jika ada kebutuhan untuk memeriksa status sebelum modul dan membandingkannya dengan status setelah modul.

Beberapa contoh implementasi ada di Tradefed. Setiap implementasi disarankan untuk fokus pada satu pemeriksaan untuk meningkatkan penggunaan kembali. Misalnya, SystemServerStatusCheck memeriksa apakah proses system_server dimulai ulang pada perangkat selama eksekusi rangkaian pengujian. Di postExecutionCheck , ia memanggil deviceSoftRestarted , yang didefinisikan dalam NativeDevice untuk memeriksa apakah proses system_server dimulai ulang.

Setiap operasi mengembalikan 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 .

Bagaimana menemukan kegagalan pemeriksa

Secara default, kegagalan pemeriksa sistem hanya ditampilkan di log dan sebagai laporan bug yang diambil untuk pemanggilan dengan nama mengikuti format bugreport-checker-post-module-<module name>.zip .

Ini memungkinkan Anda mengetahui modul mana yang laporan bugnya dihasilkan.

Anda dapat menjadikan laporan pemeriksa sistem sebagai kegagalan pengujian dengan menyetel opsi --report-system-checkers ke true . Hal ini mengakibatkan uji coba ditampilkan sebagai gagal dengan alasan kegagalan adalah pemeriksaan khusus pemeriksa status.