시스템 상태 확인

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

SSC(시스템 상태 검사기)는 제품군 수준 구성에서 정의되며 각 모듈 간에 실행됩니다. 그들은 모듈이 변경되었고 시스템 속성 값 변경과 같은 일부 주어진 상태를 복원하지 않았는지 확인하기 위해 검사를 수행합니다.

SSC는 주로 모듈 작성자가 테스트 후 정리하는 것을 잊지 않도록 하는 데 사용됩니다. 그러나 문제가 있는 경우 문제를 해결할 수 있도록 추적을 제공하십시오.

두 번째 용도는 가능한 경우 원래 상태를 복원하는 것입니다(예: 키가드가 열려 있는 경우 해제).

시스템 상태 검사기 XML 정의

<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는 Tradefed 구성 XML의 system_checker 태그 아래에 정의됩니다.

구현

모든 SSC는 ISystemStatusChecker 인터페이스 를 구현해야 합니다. 이 인터페이스는 각 모듈 실행 전후에 실행되는 두 가지 주요 메서드 preExecutionCheckpostExecutionCheck 를 제공합니다.

검사기는 둘 중 하나만 구현하거나 모듈 이전의 상태를 확인하고 모듈 이후의 상태와 비교할 필요가 있는 경우 둘 다 구현하는 것이 가능합니다.

Tradefed에는 몇 가지 예제 구현 이 있습니다. 각 구현은 재사용성을 향상시키기 위해 단일 검사에 집중하는 것이 좋습니다. 예를 들어 SystemServerStatusCheck 는 테스트 스위트 실행 중에 장치에서 system_server 프로세스가 다시 시작되었는지 확인합니다. postExecutionCheck 에서는 NativeDevice 에 정의된 deviceSoftRestarted 를 호출하여 system_server 프로세스가 다시 시작되었는지 확인합니다.

각 작업은 하네스가 버그 보고서와 같은 추가 정보를 캡처해야 하는지 여부를 결정할 수 있도록 하는 StatusCheckerResult 를 반환합니다.

CTS에서 어디에 정의되어 있습니까?

CTS 시스템 상태 검사기는 /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml 에 정의되어 있습니다.

검사기 오류를 찾는 방법

기본적으로 시스템 검사기 오류는 로그에만 표시되며 이름이 bugreport-checker-post-module-<module name>.zip 형식인 호출에 대해 캡처된 버그 보고서로 표시됩니다.

이를 통해 버그 보고서가 생성된 모듈을 찾을 수 있습니다.

--report-system-checkers 옵션을 true 로 설정하여 시스템 검사기가 테스트 실패 자체로 보고하도록 할 수 있습니다. 이렇게 하면 상태 검사기 특정 검사가 실패 이유와 함께 실패한 것으로 테스트 실행이 표시됩니다.