Configurar o Eclipse

Siga estas etapas para configurar o Tradefed usando Eclipse.

Crie um espaço de trabalho separado para desenvolver a Federação Comercial, não reutilize um espaço de trabalho já empregado para o desenvolvimento de dispositivos Android.

Se necessário, você pode fazer download do Eclipse IDE para desenvolvedores Java em: eclipse.org/downloads

Criar projetos

  1. Execute make uma vez na linha de comando. Isso construirá bibliotecas externas dependentes dos projetos abaixo.
  2. Defina a variável de classpath TRADEFED_ROOT em Window > Preferences > Java > Build Path> Classpath Variables e aponte-a para sua raiz de origem tradefed
  3. Defina a variável de caminho TRADEFED_ROOT em Window > Preferences > General > Workspace > Linked Resources e aponte-a para sua raiz de origem tradefed
  4. Use o assistente File > Import...-> General > Existing Projects into workspace" para trazer esses projetos Java de código aberto nos seguintes caminhos:

    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/health/runners/longevity/host
    platform_testing/libraries/annotations
    platform_testing/libraries/health/composers/host
    
  5. Opcionalmente, se você quiser ver o código-fonte ddmlib , anexe o código-fonte de uma ramificação de ferramentas desagregada, como /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .

  6. Opcionalmente, se você também quiser que os projetos de chicote CTS sejam carregados, importe:

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

Formatação automática

NOTA: Os arquivos de requisitos ficam em development/ide/eclipse na árvore de origem da plataforma completa. Então você precisará verificar uma ramificação da plataforma como main para obter estes arquivos: /development/main/ide/eclipse/

Use arquivos de preferência no Eclipse para definir automaticamente o formatador de acordo com o guia de estilo do Android. Para fazer isso no Studio:

  1. Vá para Janela > Preferências > Java > Estilo de Código .
  2. Em Formatter , importe o arquivo android-formatting.xml .
  3. Em Organize > Imports , importe o arquivo android.importorder .

Remover espaços em branco à direita

Para forçar o Eclipse a remover todos os espaços em branco à direita:

  1. Vá para Window > Preferences -> Java -> Editor -> Save Actions .
  2. Em seguida, Ações Adicionais -> Configurar -> Código > guia Organização -> Formatador .
  3. Marque Remover espaço em branco à direita .
  4. Clique em Aplicar e Fechar .

Verifique o estilo do código

Ao enviar uma lista de alterações, um gancho automático de pré-upload será executado para verificar o formato do seu código: google-java-format

Isso ajuda a formatar seu código de acordo com o padrão comum.

Depurar Eclipse

Se você deseja executar o código TF através de um depurador no Eclipse, é recomendável primeiro criar um teste unitário para o código em questão, pois esta será a maneira mais simples e rápida de exercitar a funcionalidade.

Para depurar um teste de unidade TF, basta clicar com o botão direito nele e selecionar Debug As > JUnit test .

Para depurar um teste funcional TF, siga as instruções na seção anterior para executar um teste funcional, mas use o menu Executar > Configurações de depuração .

Para depurar o próprio programa TF, ao executar qualquer configuração, siga as instruções na seção anterior para executar um teste funcional, mas forneça os argumentos de linha de comando para a configuração que deseja executar na etapa 4. Portanto, para depurar a configuração do 'instrumento', vá para o menu de configuração Executar > Depuração e defina a guia Argumentos na configuração de depuração do Eclipse como -- package <package to run> instrument .

Depuração remota com Eclipse

Siga estas etapas para depurar remotamente uma sessão tradefed iniciada na linha de comando tradefed.sh :

  1. Inicie tradefed.sh com o sinalizador de depuração: TF_DEBUG=1 tradefed.sh
  2. Aguarde até ver este prompt da JVM: Listening for transport dt_socket at address: 10088 Isso significa que a JVM está aguardando a conexão do depurador na porta 10088 .
  3. Anexe com a depuração remota do Eclipse no menu principal: Selecione Run > Debug Configurations... .
  4. Na caixa de diálogo pop-up, selecione Aplicativo Java Remoto no menu esquerdo.
  5. Clique no ícone Nova configuração de inicialização na barra de ação.
  6. Nomeie a configuração como desejar e selecione tradefederation como projeto.
  7. Preencha a porta usando o endereço fornecido anteriormente.
  8. Mude para a guia Fonte e adicione os projetos tradefederation e google-traded ao Caminho de pesquisa de origem .
  9. Clique em Depurar para iniciar a sessão de depuração.

O depurador se conecta ao processo JVM de escuta e o terminal executando tradefed.sh mostra o prompt tf> .

Para percorrer seu código no modo de depuração, defina um ponto de interrupção no Eclipse e invoque seu comando Tradefed (ou seja, run <test> ) no terminal. Para depurar qualquer coisa durante a inicialização do TF, você pode definir primeiro o ponto de interrupção e depois anexar o depurador Eclipse.

DICA: Para usar uma porta alternativa, adicione TF_DEBUG_PORT=nnn ao comando na etapa 1 acima. Você pode até usar isso no ambiente de produção se tiver bugs misteriosos para investigar: altere suspend=y para suspend=n em tradefed.sh e comece com o sinalizador de depuração. A JVM não esperará a conexão do depurador, mas você pode fazer isso a qualquer momento, desde que o processo ainda esteja em execução.

Depuração remota usando JDB

Para usar o Java Debugger JDB, siga etapas semelhantes às do Eclipse:

  1. Inicie tradefed.sh com o sinalizador de depuração: TF_DEBUG=1 tradefed.sh
  2. Aguarde até ver o prompt da JVM: Listening for transport dt_socket at address: 10088 .
  3. Conecte jdb . Por exemplo, da execução croot:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Aguarde a conexão e depure! Execute man jdb para obter mais ajuda.

Examine a cobertura do código

  1. Instale o plugin Eclemma .
  2. Vá para Ajuda > Instalar Novo Software e aponte o assistente para: http://update.eclemma.org/
  3. Depois de instalado, selecione a opção Cobertura como > teste JUnit para realizar uma execução de cobertura de código.