Sistem durumunu kontrol etme

Sistem durumu denetleyicileri (SSC'ler), paket düzeyinde yapılandırılır ve her modül arasında çalıştırılır. Bu işlevler, modülün değişip değişmediğini ve belirli durumların (ör. bir sistem özelliğinin değeri) geri yüklenip yüklenmediğini belirlemek için kontroller gerçekleştirir.

SSC'ler temel olarak modül yazarlarının testlerinden sonra temizlemeyi unutmamasını sağlamak için kullanılır. Ancak temizlemeyi unuturlarsa bu durumun giderilebilmesi için bir iz bırakılır.

İkincil kullanım da mümkün olduğunda orijinal durumu geri yüklemektir. Örneğin, açık bırakıldıysa tuş koruyucuyu kapatma.

Sistem durumu denetleyici XML tanımı

<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'ler, Tradefed yapılandırma XML'inde system_checker etiketi altında tanımlanır.

Uygulama

Her SSC, her modül çalıştırmadan önce ve sonra çalıştırılan iki ana yöntem olan preExecutionCheck ve postExecutionCheck'i sağlayan ISystemStatusCheckerarabirimi uygulamalıdır.

Bir denetleyicinin ikisinden yalnızca birini uygulaması veya ve modülün öncesindeki durumu kontrol etmeniz gerekiyorsa durum hakkında daha fazla bilgi edineceksiniz.

Birkaç örnek uygulamalar Tradefed'te mevcuttur. Her uygulamanın tek bir kontrole odaklanması önerilir yeniden kullanılabilirliği artırmak anlamına gelir. Örneğin, SystemServerStatusCheck sırasında system_server işleminin cihazda yeniden başlatılıp başlatılmadığını kontrol eder test paketi yürütme. postExecutionCheck içinde deviceSoftRestarted, Bu bölüm, NativeDevice system_server işleminin yeniden başlatılıp başlatılmadığını kontrol edin.

Her işlem, StatusCheckerResult döndürür. Bu, hata raporu gibi ek bilgilerin yakalanıp yakalanmayacağına karar vermeyi koşum takımına bırakır.

CTS'de bu terimler nerede tanımlanır?

CTS sistem durumu denetleyicileri şurada tanımlanmıştır: /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml.

Denetleyici hatalarını bulma

Sistem denetleyici hataları varsayılan olarak yalnızca günlüklerde ve hata raporlarında gösterilir. şu biçime sahip çağrı için yakalandı: bugreport-checker-post-module-<module name>.zip

Bu, hata raporunun hangi modülden sonra oluşturulduğunu öğrenmenize olanak tanır.

--report-system-checkers seçeneğini true olarak ayarlayarak sistem denetleyicinin testi başarısız olarak raporlamasını sağlayabilirsiniz. Bu durum, başarısızlığın nedeni durum denetleyici olmak üzere başarısız olarak gösterilen test çalıştırması kontrol edebilirsiniz.