Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Eclipse 설정

Eclipse를 사용하여 Tradefed를 설정하려면 다음 단계를 따르세요.

별도의 작업공간을 형성하여 Trade Federation을 개발하고, 이미 Android 기기 개발에 사용된 작업공간은 재사용하지 않습니다.

필요한 경우 eclipse.org/downloads에서 자바 개발자용 Eclipse IDE를 다운로드할 수 있습니다.

프로젝트 생성

  1. 명령줄에서 make once를 실행합니다. 그러면 아래 프로젝트가 종속된 외부 라이브러리가 빌드됩니다.
  2. Window > Preferences > Java > Build Path> Classpath Variables에 TRADEFED_ROOT 클래스 경로 변수를 설정하고 tradefed 소스 루트를 가리킵니다.
  3. Window > Preferences > General > Workspace > Linked Resources에 TRADEFED_ROOT 경로 변수를 설정하고 tradefed 소스 루트를 가리킵니다.
  4. File > Import...-> General > Existing Projects into workspace" 마법사를 사용하여 다음 경로에 오픈소스 자바 프로젝트를 불러옵니다.

    prebuilts/misc/common/ddmlib\*
        tools/loganalysis
        tools/loganalysis/tests
        tools/tradefederation/core
        tools/tradefederation/core/tests
        tools/tradefederation/contrib
        tools/tradefederation/core/remote
        platform_testing/libraries/longevity
        platform_testing/libraries/annotations
        platform_testing/libraries/composer
        
  5. ddmlib 소스 코드를 확인하고 싶은 경우에는 /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java와 같이 번들화되지 않은 도구 브랜치에서 소스 코드를 연결할 수도 있습니다.

  6. CTS 하네스 프로젝트도 로드하고 싶은 경우에는 다음을 가져옵니다.

    test/suite_harness/common/util
        test/suite_harness/common/host-side/util
        test/suite_harness/common/host-side/tradefed
        

자동 형식

참고: 필수 파일은 전체 플랫폼 소스 트리의 development/ide/eclipse 내에 상주합니다. 따라서 master 등의 플랫폼 브랜치를 확인하여 이러한 파일을 가져와야 합니다(/development/master/ide/eclipse/).

Eclipse에서 환경설정 파일을 사용하여 형식 지정 도구를 Android 형식 가이드로 자동 설정합니다. Studio에서 설정하는 방법:

  1. 창 > 환경설정 > 자바 > 코드 형식으로 이동합니다.
  2. 형식 지정 도구에서 android-formatting.xml 파일을 가져옵니다.
  3. 구성 > 가져오기에서 android.importorder 파일을 가져옵니다.

후행 공백 삭제

Eclipse가 모든 후행 공백을 삭제하도록 강제하는 방법은 다음과 같습니다.

  1. 창 > 환경설정 -> 자바 -> 편집기 -> 작업 저장으로 이동합니다.
  2. 그런 다음 추가 작업 -> 구성 -> 코드 > 구성 탭 -> 형식 지정 도구로 이동합니다.
  3. 후행 공백 삭제를 선택합니다.
  4. 적용 및 닫기를 클릭합니다.

코드 형식 확인

변경 목록을 제출할 때는 자동 사전 업로드 후크가 실행되어 코드 형식 google-java-format을 확인합니다.

이는 코드 형식을 공통 표준에 맞게 지정하는 데 도움이 됩니다.

Eclipse 디버그

Eclipse의 디버거를 통해 TF 코드를 실행하고 싶은 경우에는 먼저 해당 코드의 유닛 테스트를 생성하는 것이 좋습니다. 이는 기능을 가장 간단하고 빠르게 실행할 수 있는 방법이기 때문입니다.

TF 유닛 테스트를 디버깅하려면 테스트를 마우스 오른쪽 버튼으로 클릭하고 다음으로 디버그: > JUnit 테스트를 선택하기만 하면 됩니다.

TF 기능 테스트를 디버깅하려면 이전 섹션의 기능 테스트 실행 관련 안내를 따르되 실행 > 디버그 구성 메뉴를 사용하세요.

TF 프로그램 자체를 디버깅하려면 구성을 실행할 때 이전 섹션의 기능 테스트 실행 관련 안내를 따르되 4단계에서 실행하려는 구성의 명령줄 인수를 제공하세요. 따라서 '계측' 구성을 디버깅하려면 실행 > 디버그 구성 메뉴로 이동한 다음 Eclipse 디버그 구성의 인수 탭을 -- package <package to run> instrument로 설정합니다.

Eclipse를 사용한 원격 디버깅

tradefed.sh 명령줄에서 시작된 Tradefed 세션을 원격으로 디버깅하려면 다음 단계를 따르세요.

  1. 디버그 플래그 TF_DEBUG=1 tradefed.sh로 tradefed.sh를 시작합니다.
  2. JVM에서 Listening for transport dt_socket at address: 10088 메시지가 표시될 때까지 기다립니다. 이는 JVM에서 디버거가 포트 10088에 연결되기를 기다리고 있음을 의미합니다.
  3. 실행 > 디버그 구성...을 선택하여 기본 메뉴에서 Eclipse의 원격 디버깅을 연결합니다.
  4. 팝업 대화상자의 왼쪽 메뉴에서 원격 자바 애플리케이션을 선택합니다.
  5. 작업 모음에서 새 실행 구성 아이콘을 클릭합니다.
  6. 구성에 원하는 이름을 지정하고 tradefederation을 프로젝트로 선택합니다.
  7. 앞에서 제공된 주소를 사용하여 포트를 채웁니다.
  8. 소스 탭으로 전환하고 프로젝트 tradefederationgoogle-tradefed를 소스 조회 경로에 추가합니다.
  9. 디버그를 클릭하여 디버깅 세션을 시작합니다.

디버거가 수신 중인 JVM 프로세스에 연결되고 tradefed.sh를 실행 중인 터미널에 tf> 프롬프트가 표시됩니다.

디버그 모드에서 코드를 단계별로 실행하려면 Eclipse에서 중단 지점을 설정하고 터미널에서 Tradefed 명령어(run <test>)를 호출합니다. TF 시작 도중에 디버깅하려면 먼저 중단 지점부터 설정한 다음 Eclipse 디버거를 연결합니다.

팁: 대체 포트를 사용하려면 위의 1 단계에서 명령어에 TF_DEBUG_PORT=nnn을 추가합니다. 이는 알 수 없는 버그를 조사해야 하는 경우 프로덕션 환경에서 사용할 수 있습니다. suspend=ytradefed.shsuspend=n으로 변경하고 디버그 플래그로 시작하세요. JVM은 디버거가 연결될 때까지 대기하지 않지만 프로세스가 실행 중인 경우 언제든지 연결할 수 있습니다.

JDB를 사용한 원격 디버그

자바 디버거 JDB를 사용하려면 Eclipse의 경우와 유사한 단계를 따르세요.

  1. 디버그 플래그 TF_DEBUG=1 tradefed.shtradefed.sh를 시작합니다.
  2. JVM에서 프롬프트 Listening for transport dt_socket at address: 10088이 표시될 때까지 기다립니다.
  3. jdb를 연결합니다. 예를 들면 croot에서 다음을 실행합니다.

    jdb -attach 10088 \
            -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
        
  4. 연결될 때까지 기다렸다가 디버깅합니다. 도움이 필요한 경우 man jdb를 실행하세요.

코드 범위 검토

  1. Eclemma 플러그인을 설치합니다.
  2. 도움말 > 새 소프트웨어 설치로 이동한 다음 마법사로 http://update.eclemma.org/를 가리킵니다.
  3. 설치되면 다음을 범위에 포함: > JUnit 테스트 옵션을 선택하여 코드 범위 실행을 수행합니다.