Configura Eclipse

Sigue estos pasos para configurar Tradefed con Eclipse.

Crea un lugar de trabajo independiente para desarrollar Trade Federation. No vuelvas a usar un lugar de trabajo que ya se use para el desarrollo de dispositivos Android.

Si es necesario, puedes descargar el IDE de Eclipse para desarrolladores de Java en eclipse.org/downloads.

Crea proyectos

  1. Ejecuta make una vez desde la línea de comandos. Esto compilará bibliotecas externas de las que dependen los siguientes proyectos.
  2. Establece la variable de classpath TRADEFED_ROOT en Window > Preferences > Java > Build Path> Classpath Variables y diríjela a la raíz de la fuente de tradefed.
  3. Establece la variable de ruta de acceso TRADEFED_ROOT en Window > Preferences > General > Workspace > Linked Resources y diríjela a la raíz de la fuente de tradefed.
  4. Usa el asistente File > Import...-> General > Existing Projects into workspace" para incorporar estos proyectos de Java de código abierto en las siguientes rutas de acceso:

    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. De forma opcional, si quieres ver el código fuente de ddmlib, adjunta el código fuente de una rama de herramientas sin empaquetar, como /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. De manera opcional, si también deseas que se carguen los proyectos del arnés de CTS, importa lo siguiente:

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

Formato automático

NOTA: Los archivos obligatorios se encuentran en development/ide/eclipse en el árbol de origen completo de la plataforma. Por lo tanto, deberás consultar una rama de la plataforma, como main, para obtener estos archivos: /development/main/ide/eclipse/

Usa archivos de preferencias en Eclipse para configurar automáticamente el formato en el guía de estilo de Android. Para hacerlo en Studio, sigue estos pasos:

  1. Ve a Window > Preferences > Java > Code Style.
  2. En Formateador, importa el archivo android-formatting.xml.
  3. En Organizar > Importaciones, importa el archivo android.importorder.

Quita los espacios en blanco finales

Para forzar a Eclipse a quitar todos los espacios en blanco finales, haz lo siguiente:

  1. Ve a Window > Preferences -> Java -> Editor -> Save Actions.
  2. Luego, Acciones adicionales -> Configurar -> Código -> Pestaña Organización -> Formateador.
  3. Marca la opción Quitar espacios en blanco al final.
  4. Haz clic en Aplicar y cerrar.

Cómo verificar el estilo de código

Cuando envíes una lista de cambios, se ejecutará un hook automático de carga previa para verificar el formato de tu código: google-java-format

Esto ayuda a dar formato al código según el estándar común.

Depurar Eclipse

Si deseas ejecutar código de TF a través de un depurador en Eclipse, te recomendamos que primero crees una prueba de unidades para el código en cuestión, ya que esta será la forma más simple y rápida de ejercitar la funcionalidad.

Para depurar una prueba de unidad de TF, haz clic con el botón derecho en ella y selecciona Depurar como > Prueba de JUnit.

Para depurar una prueba funcional de TF, sigue las instrucciones de la sección anterior para ejecutar una prueba funcional, pero usa el menú Run > Debug configurations.

Para depurar el programa de TF, cuando ejecutes cualquier configuración, sigue las instrucciones de la sección anterior para ejecutar una prueba funcional, pero proporciona los argumentos de la línea de comandos para la configuración que deseas ejecutar en el paso 4. Por lo tanto, para depurar la configuración del instrumento, ve al menú Run > Debug configuration y establece la pestaña Arguments en la configuración de depuración de Eclipse en -- package <package to run> instrument.

Depuración remota con Eclipse

Sigue estos pasos para depurar de forma remota una sesión de Tradefed iniciada desde la línea de comandos de tradefed.sh:

  1. Inicia tradefed.sh con la marca de depuración: TF_DEBUG=1 tradefed.sh
  2. Espera hasta que veas este mensaje de la JVM: Listening for transport dt_socket at address: 10088. Esto significa que la JVM está esperando que el depurador se conecte al puerto 10088.
  3. Conecta con la depuración remota de Eclipse desde el menú principal: Selecciona Run > Debug Configurations….
  4. En el diálogo emergente, selecciona Remote Java Application en el menú de la izquierda.
  5. Haz clic en el ícono New launch configuration en la barra de acciones.
  6. Nombra la configuración como desees y selecciona tradefederation como proyecto.
  7. Propaga el puerto con la dirección que proporcionaste anteriormente.
  8. Cambia a la pestaña Fuente y agrega los proyectos tradefederation y google-tradefed a la ruta de búsqueda de origen.
  9. Haz clic en Depurar para iniciar la sesión de depuración.

El depurador se conecta al proceso de JVM de escucha, y la terminal que ejecuta tradefed.sh muestra el mensaje tf>.

Para revisar el código en el modo de depuración, establece un punto de interrupción en Eclipse y, luego, invoca el comando de Tradefed (es decir, run <test>) en la terminal. Para depurar algo durante el inicio de TF, primero puedes establecer el punto de interrupción y, luego, conectar el depurador de Eclipse.

SUGERENCIA: Para usar un puerto alternativo, agrega TF_DEBUG_PORT=nnn al comando del paso 1 anterior. Incluso puedes usar esto en el entorno de producción si tienes errores de bloqueo misteriosos para investigar: cambia suspend=y a suspend=n en tradefed.sh y comienza con la marca de depuración. La JVM no esperará a que se conecte el depurador, pero puedes hacerlo en cualquier momento, siempre que el proceso siga ejecutándose.

Depuración remota con JDB

Para usar Java Debugger JDB, sigue pasos similares a los de Eclipse:

  1. Inicia tradefed.sh con la marca de depuración TF_DEBUG=1 tradefed.sh.
  2. Espera hasta que veas el mensaje de JVM: Listening for transport dt_socket at address: 10088.
  3. Conecta jdb. Por ejemplo, desde croot ejecuta:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Espera a que se establezca la conexión y comienza a depurar. Ejecuta man jdb para obtener más ayuda.

Examina la cobertura de código

  1. Instala el complemento Eclemma.
  2. Ve a Help > Install New Software y dirige el asistente a http://update.eclemma.org/.
  3. Una vez instalada, selecciona la opción de prueba Coverage As > JUnit para realizar una ejecución de cobertura de código.