CTS v2 명령어 콘솔

CTS v2 콘솔 사용

Android 7.0 이상에서는 CTS v2를 사용합니다.

계획 선택

사용 가능한 테스트 계획은 다음과 같습니다.

  • cts - 기존 CTS 설치 프로그램에서 CTS를 실행합니다.
  • cts-camera - 기존 CTS 설치 프로그램에서 CTS 카메라를 실행합니다.
  • cts-java - 기존 CTS 설치 프로그램에서 코어 자바 테스트를 실행합니다.
  • cts-pdk - PDK 퓨전 빌드의 유효성 검사에 유용한 테스트를 실행합니다.
  • everything - 호환성 모음의 공통 구성입니다.

사용 가능한 기타 구성은 다음과 같습니다.

  • basic-reporters - 기본 CTS 리포터의 구성입니다.
  • collect-tests-only - 기존 CTS 설치 프로그램에서 CTS를 실행합니다.
  • common-compatibility-config - 호환성 모음의 공통 구성입니다.
  • cts-filtered-sample - 호환성 모음의 공통 구성입니다.
  • cts-known-failures - 알려진 CTS 오류가 있는 구성입니다.
  • cts-preconditions - CTS 선행 조건 구성입니다.
  • host - 기존 기기에서 호스트 기반의 단일 테스트를 실행합니다.
  • instrument - 기존 기기에서 단일 Android 계측 테스트를 실행합니다.
  • native-benchmark - 기존 기기에서 네이티브 스트레스 테스트를 실행합니다.
  • native-stress - 기존 기기에서 네이티브 스트레스 테스트를 실행합니다.
  • recharge - 기기가 거의 방전될 때까지 기다리고 방전된 기기를 충전하는 가짜 테스트입니다.
  • testdef - 기존 기기에서 test_def.xml 파일에 포함된 테스트를 실행합니다.
  • util/wifi - 기기에 Wi-Fi를 구성하기 위한 유틸리티 구성입니다.
  • util/wipe - 기기에서 사용자 데이터를 완전히 삭제합니다.

위의 모든 계획과 구성은 run cts 명령어로 실행할 수 있습니다.

CTS v2 콘솔 명령어 참조

이 표에는 다양한 용도로 사용되는 CTS v2 콘솔 명령어가 요약되어 있습니다.

호스트 설명
help 가장 일반적으로 사용되는 명령어의 요약을 표시합니다.
help all 사용 가능한 명령어의 전체 목록을 표시합니다.
version 버전을 표시합니다.
exit 정상적으로 CTS 콘솔을 종료합니다. 현재 실행 중인 모든 테스트가 완료되면 콘솔이 닫힙니다.
extdir

압축된 다운로드 파일이 extdir로 압축 해제됩니다. 확장된 출력을 없애려면 -q 옵션을 사용합니다.

unzip -q android-cts-9.0_r15-linux_x86-arm.zip -d extdir

현재 디렉터리에 압축을 풀려면 -d 옵션을 사용하지 않고 다음을 실행합니다.

unzip -q android-cts-9.0_r15-linux_x86-arm.zip

실행 설명
run cts

Android 10에서는 기본 CTS 계획과 CTS-Instant를 함께 실행합니다. 즉 전체 CTS를 호출합니다. Android 9 이하에서는 기본 CTS 계획만 실행합니다. 기기 유효성 검사에서는 선행 조건을 포함하여 이 포괄적 옵션을 사용합니다. 포함 항목에 관해서는 cts.xml을 참조하세요.

CTS 콘솔은 테스트가 진행되는 동안 다른 명령어를 수신할 수 있습니다.

연결된 기기가 없다면 CTS 데스크톱 컴퓨터(또는 호스트)가 테스트를 시작하기 전에 기기가 연결될 때까지 대기합니다. 두 대 이상의 기기가 연결되어 있다면 CTS 호스트가 자동으로 기기를 선택합니다.

run cts-instant

Android 9에서는 기본 CTS-Instant 계획을 실행합니다.

run cts --module-parameter INSTANT_APP

Android 10에서는 기본 CTS-Instant 계획을 실행합니다.

run cts --module-parameter INSTANT_APP --module/-m test_module_name

Android 10에서는 지정된 CTS-Instant 테스트 모듈을 실행합니다.

run retry

Android 9 이상에서만 해당됩니다. 이전 세션에서 실패했거나 실행되지 않은 모든 테스트를 재시도합니다. 예를 들어 run retry --retry -s 또는 TF 샤딩을 사용한 run retry --retry --shard-count가 이에 해당합니다.

Android 9 이상에서 run cts --retry는 사용할 수 없습니다.

run cts-sim

Android 11 이상 버전에 해당합니다. SIM 카드가 있는 기기에서 테스트 하위 집합을 실행합니다.

--device-token

Android 8.1 이하 버전에 해당됩니다. 지정된 기기에 지정된 토큰을 갖도록 명시합니다. 예를 들어 --device-token 1a2b3c4d:sim-card가 이에 해당합니다.

--enable-token-sharding

Android 10 이상에만 해당합니다. 관련 SIM 유형이 필요한 테스트에 자동으로 매칭합니다. SIM 관련 테스트 사례를 실행할 때 기기 일련번호를 제공할 필요가 없습니다. 지원되는 SIM은 SIM_CARD, UICC_SIM_CARDSECURE_ELEMENT_SIM_CARD입니다.

run cts-dev

기본 CTS 계획을 실행(즉, 전체 CTS 호출)하지만 새 테스트의 반복 개발의 실행 시간을 절약하기 위해 선행 조건을 건너뜁니다. 이 경우 --skip-preconditions 옵션을 사용할 때처럼, 미디어 파일 푸시 또는 Wi-Fi 연결 확인과 같은 기기 구성 확인 및 설정을 건너뛰게 됩니다. 또한 이 명령어는 기기 정보 수집 및 모든 시스템 상태 검사기도 건너뜁니다. 또한 단일 ABI에서만 테스트를 실행합니다. 기기 유효성 검사의 경우 이 최적화를 피하고 모든 선행 조건과 검사를 포함합니다. 제외 항목에 관해서는 cts-dev.xml을 참조하세요.

CTS 콘솔은 테스트가 진행되는 동안 다른 명령어를 수신할 수 있습니다.

연결된 기기가 없다면 CTS 데스크톱 컴퓨터(또는 호스트)가 테스트를 시작하기 전에 기기가 연결될 때까지 대기합니다. 두 대 이상의 기기가 연결되어 있다면 CTS 호스트가 자동으로 기기를 선택합니다.

--subplan subplan_name 지정된 하위 계획을 실행합니다.
--module/-m test_module_name --test/-t test_name  지정된 모듈과 테스트를 실행합니다. 예를 들어 run cts -m Gesture --test android.gesture.cts.GestureTest#testGetStrokes는 특정 패키지, 클래스 또는 테스트를 실행합니다.
--retry 이전 세션에서 실패했거나 실행되지 않은 모든 테스트를 재시도합니다. list results를 사용하여 세션 ID를 가져옵니다.
--retry-type NOT_EXECUTED 이전 세션에서 실행되지 않은 테스트만 재시도합니다. list results를 사용하여 세션 ID를 가져옵니다.
--shards number_of_shards Android 8.1 이하 버전에 해당됩니다. 여러 기기에서 동시에 실행하기 위해 CTS 실행을 지정된 수의 독립 청크로 샤딩합니다.
--shard-count number_of_shards Android 9에 해당됩니다. 여러 기기에서 동시에 실행하기 위해 CTS 실행을 지정된 수의 독립 청크로 샤딩합니다.
--serial/-s deviceID 특정 기기에서 CTS를 실행합니다.
--include-filter "test_module_name test_name" 지정된 모듈, 테스트 패키지, 클래스 및 케이스를 실행합니다. 예를 들어 run cts --include-filter "CtsCalendarcommon2TestCases android.calendarcommon2.cts.Calendarcommon2Test#testStaticLinking"은 지정된 모듈을 포함합니다.

이 명령어 옵션은 재시도 시 지원되지 않습니다.

--exclude-filter "test_module_name test_name" 실행 시 지정된 모듈, 테스트 패키지, 클래스, 케이스를 제외합니다. 예를 들어 run cts --exclude-filter "CtsCalendarcommon2Test android.calendarcommon2.cts.Calendarcommon2Test#testStaticLinking"은 지정된 모듈을 제외합니다.
--log-level-display/-l log_level STDOUT에 표시된 최소 지정 로그 수준으로 실행합니다. 유효한 값: [VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT].
--abi abi_name 지정된 ABI, 32 또는 64에서 테스트가 실행되도록 강제합니다. 기본적으로 CTS는 기기가 지원하는 ABI마다 테스트를 한 번씩 실행합니다.
--logcat-on-failure,
--bugreport-on-failure,
--screenshoot-on-failure
오류에 관한 더 많은 정보를 제공하여 진단에 도움을 줍니다.
--device-token --device-token 1a2b3c4d:sim-card와 같이 지정된 기기에 지정된 토큰을 갖도록 명시합니다.
--skip-device-info 기기에 관한 정보 수집을 건너뜁니다.
--skip-preconditions 새 테스트의 반복 개발을 위해 런타임을 절약할 수 있도록 선행 조건을 건너뜁니다. 이에 따라 미디어 파일 푸시 또는 Wi-Fi 연결 확인과 같은 기기 구성의 확인 및 설정을 건너뜁니다.
목록 설명
list modules 저장소에서 사용 가능한 모든 테스트 모듈을 나열합니다.
list plans 또는 list configs 저장소에서 사용 가능한 모든 테스트 계획(구성)을 나열합니다.
list subplans 저장소에서 사용 가능한 모든 하위 계획을 나열합니다.
list invocations 현재 기기에서 실행 중인 'run' 명령어를 나열합니다.
list commands 대기열에서 현재 기기에 할당되기를 기다리는 모든 'run' 명령어를 나열합니다.
list results 현재 저장소에 저장된 CTS 결과를 나열합니다.
list devices 현재 연결된 기기와 기기 상태를 나열합니다.

'사용 가능한' 기기는 테스트 실행에 사용할 수 있는 작동 중이며 유휴 상태에 있는 기기를 말합니다.

'사용할 수 없는' 기기는 adb를 통해 표시되지만 adb 명령어에 응답하지 않아 테스트에 할당되지 않는 기기를 말합니다.

'할당된' 기기는 현재 테스트를 실행 중인 기기입니다.

덤프 설명
dump logs 실행 중인 모든 호출의 tradefed 로그를 버립니다.
추가 설명
add subplan --name/-n subplan_name
--result-type
[pass | fail | timeout | notExecuted]
[--session session_id]
이전 세션에서 파생된 하위 계획을 생성합니다. 이 옵션은 테스트의 하위 집합을 실행하는 데 사용할 수 있는 하위 계획을 생성합니다.

유일한 필수 옵션은 --session입니다. 다른 옵션은 선택사항이지만 포함할 경우 값 앞에 와야 합니다. --result-type 옵션은 반복 가능합니다. 예를 들어 add subplan --session 0 --result-type passed --result-type failed는 유효합니다.