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 ISystemStatusChecker
arabirimi 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.