Sistem durumunu kontrol edin

Sistem durumu denetleyiciler (SSC'ler), paket düzeyinde yapılandırmada tanımlanı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ı (ör. sistem özelliği değerini değiştirme) geri yükleyip yüklemediğini belirlemek için kontroller gerçekleştirir.

SSC'ler genellikle modül yazarlarının testlerden sonra temizlemeyi unutmamalarını sağlamak için kullanılır; ancak bunu yaparlarsa sorunun ele alınabilmesi için bir iz sağlayın.

İkincil bir kullanım da mümkün olduğunda orijinal durumu geri yüklemektir. Örneğin, açık bırakılan kilit ekranını kapatabilirsiniz.

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 sağlayan ISystemStatusCheckerarabirimi uygulamalıdır.

Bir denetleyicinin ikisinden yalnızca birini veya modülden önceki durumu kontrol edip modülden sonraki durumla karşılaştırması gerekiyorsa her ikisini de uygulaması mümkündür.

Tradefed'de birkaç örnek uygulama vardır. Yeniden kullanılabilirliği artırmak için her uygulamanın tek bir kontrole odaklanması önerilir. Örneğin, SystemServerStatusCheck, test paketi yürütülürken cihazda system_server işleminin yeniden başlatılıp başlatılmadığını kontrol eder. postExecutionCheck içinde, system_server sürecinin yeniden başlatılıp başlatılmadığını kontrol etmek için NativeDevice içinde tanımlanan deviceSoftRestarted işlevini çağırır.

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 kontrolörleri /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml dosyasında tanımlanır.

Denetleyici hatalarını bulma

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

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, test çalıştırmasının başarısız olarak gösterilmesine neden olur ve başarısızlığın nedeni, durum kontrol cihazının belirli bir kontrolüdür.