Trade Federation에서 쉘 테스트 작성하기

이 페이지에서는 쉘 테스트를 작성하는 방법을 설명합니다. 셸 스크립트로 테스트를 수행할 수 있는 경우 ExecutableHostTest 로 실행할 수 있습니다. ExecutableHostTest 는 테스트 필터링 및 테스트 샤딩을 지원합니다.

쉘 테스트 작성

기본 셸 스크립트는 호스트에서 실행됩니다. 장치에서 실행할 다른 스크립트 또는 바이너리와 필요한 데이터 파일을 먼저 장치에 푸시해야 합니다. 이것은 주 스크립트의 일부로 또는 PushFilePreparer 를 사용하여 수행할 수 있습니다.

테스트에 테스트와 함께 설치해야 하는 장치 바이너리 모듈이 있는 경우 data_device_bins 속성으로 지정합니다.

sh_test {
    name: "module-name",
    ...
    data_device_bins: ["target-name"],
}

쉘 테스트 ziptool-tests 가 그러한 예입니다.

각 테스트의 테스트 결과는 기본 스크립트의 종료 상태를 기반으로 합니다. per-binary-timeout 이 지정된 경우 테스트가 시간 초과될 수 있습니다.

셸 테스트 구성

Tradefed XML 구성에서 셸 테스트는 ExecutableHostTest 러너를 통해 실행됩니다.

<test class="com.android.tradefed.testtype.binary.ExecutableHostTest" >
    <option name="binary" value="your-test-script.sh" />
    <option name="relative-path-execution" value="true" />
    <option name="per-binary-timeout" value="15m" />
</test>

테스트를 위한 메인 스크립트를 binary 옵션의 값으로 설정합니다. 다른 ExecutableHostTest 옵션을 확인하십시오.

스크립트에 루트 권한이 필요한 경우 구성에 RootTargetPreparer 를 추가합니다.