Sistem durumunu kontrol edin

Sistem durumu denetleyicileri (SSC'ler), paket düzeyindeki yapılandırmada tanımlanır ve her modül arasında çalıştırılır. Modülün değişip değişmediğini ve bazı belirli durumları geri yüklemediğini (örneğin bir sistem özellik değerini değiştirip değiştirmediğini) belirlemek için kontroller gerçekleştirirler.

SSC'ler esas olarak modül yazarlarının testlerinden sonra ortalığı temizlemeyi unutmamalarını sağlamak için kullanılır; ancak bunu yaparlarsa, ele alınabilmesi için izini sağlayın.

İkincil bir kullanım da mümkün olduğunda orijinal durumu geri yüklemektir; örneğin, açık bırakıldığında tuş kilidinin kapatılması.

Sistem durumu denetleyicisi 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ün yürütülmesinden önce ve sonra çalışan iki ana preExecutionCheck ve postExecutionCheck yöntemini sağlayan ISystemStatusChecker arayüzünü uygulamalıdır.

Bir denetleyicinin ikisinden yalnızca birini uygulaması veya modülden önceki durumu kontrol etmeye ve bunu modülden sonraki durumla karşılaştırmaya ihtiyaç varsa her ikisini de uygulaması mümkündür.

Tradefed'de çeşitli örnek uygulamalar mevcuttur. Yeniden kullanılabilirliği artırmak için her uygulamanın tek bir kontrole odaklanması önerilir. Örneğin, SystemServerStatusCheck test paketinin yürütülmesi sırasında cihazda system_server işleminin yeniden başlatılıp başlatılmadığını kontrol eder. postExecutionCheck , system_server işleminin yeniden başlatılıp başlatılmadığını kontrol etmek için NativeDevice tanımlanan deviceSoftRestarted çağırır.

Her işlem, hata raporu gibi ek bilgilerin yakalanması gerekip gerekmediğine karar vermesini sağlayan StatusCheckerResult değerini döndürür.

CTS'de nerede tanımlanırlar?

CTS sistem durumu denetleyicileri /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml dosyasında tanımlanır.

Denetleyici hataları nasıl bulunur?

Varsayılan olarak, sistem denetleyicisi hataları yalnızca günlüklerde ve bugreport-checker-post-module-<module name>.zip biçimini takip eden adla çağrı için yakalanan hata raporları olarak gösterilir.

Bu, hata raporunun hangi modülden sonra oluşturulduğunu öğrenmenizi sağlar.

--report-system-checkers seçeneğini true olarak ayarlayarak sistem denetleyicisinin bir test hatası olarak rapor etmesini sağlamak mümkündür. Bu, bir test çalıştırmasının başarısız olduğunu göstermesiyle sonuçlanır ve başarısızlığın nedeni durum denetleyicisine özel kontroldür.