Configura Eclipse

Segui questi passaggi per configurare Tradefed utilizzando Eclipse.

Crea uno spazio di lavoro separato per sviluppare Trade Federation, non riutilizzare uno spazio di lavoro già utilizzato per lo sviluppo di dispositivi Android.

Se necessario, è possibile scaricare l' IDE Eclipse per gli sviluppatori Java da: eclipse.org/downloads

Creare progetti

  1. Esegui make una volta dalla riga di comando. Questo creerà librerie esterne dipendenti dai progetti seguenti.
  2. Imposta la variabile classpath TRADEFED_ROOT in Window > Preferences > Java > Build Path> Classpath Variables e indirizzala alla root di origine tradefed
  3. Imposta la variabile di percorso TRADEFED_ROOT in Window > Preferences > General > Workspace > Linked Resources e indirizzala alla root di origine tradefed
  4. Utilizza la procedura guidata File > Import...-> General > Existing Projects into workspace" per importare questi progetti Java open source nei seguenti percorsi:

    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. Facoltativamente, se desideri visualizzare il codice sorgente ddmlib , allega il codice sorgente da un ramo di strumenti disaggregati, ad esempio /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .

  6. Facoltativamente, se si desidera caricare anche i progetti di cablaggio CTS, importare:

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

Formato automatico

NOTA: i file richiesti si trovano all'interno di development/ide/eclipse nell'albero dei sorgenti dell'intera piattaforma. Quindi dovrai controllare un ramo della piattaforma come main per ottenere questi file: /development/main/ide/eclipse/

Utilizza i file delle preferenze in Eclipse per impostare automaticamente il formattatore sulla guida di stile Android. Per farlo in Studio:

  1. Vai a Finestra > Preferenze > Java > Stile codice .
  2. In Formatter importare il file android-formatting.xml .
  3. In Organizza > Importazioni , importa il file android.importorder .

Rimuovi gli spazi bianchi finali

Per forzare Eclipse a rimuovere tutti gli spazi bianchi finali:

  1. Vai a Finestra > Preferenze -> Java -> Editor -> Salva azioni .
  2. Quindi Azioni aggiuntive -> Configura -> Codice > Scheda Organizzazione -> Formatter .
  3. Seleziona Rimuovi gli spazi bianchi finali .
  4. Fare clic su Applica e chiudi .

Controlla lo stile del codice

Quando invii un elenco di modifiche, verrà eseguito un hook di precaricamento automatico per verificare il formato del codice: google-java-format

Ciò aiuta a formattare il codice secondo lo standard comune.

Eseguire il debug di Eclipse

Se desideri eseguire il codice TF tramite un debugger in Eclipse, ti consigliamo di creare prima uno unit test per il codice in questione poiché questo sarà il modo più semplice e veloce per esercitare la funzionalità.

Per eseguire il debug di uno unit test TF, è sufficiente fare clic con il pulsante destro del mouse su di esso e selezionare Debug As > JUnit test .

Per eseguire il debug di un test funzionale TF, seguire le istruzioni nella sezione precedente per l'esecuzione di un test funzionale ma utilizzare il menu Esegui > Configurazioni debug .

Per eseguire il debug del programma TF stesso, quando si esegue qualsiasi configurazione, seguire le istruzioni nella sezione precedente per eseguire un test funzionale ma fornire gli argomenti della riga di comando per la configurazione che si desidera eseguire nel passaggio 4. Quindi, per eseguire il debug della configurazione dello "strumento", andare al menu Esegui > Configurazione debug e impostare la scheda Argomenti nella configurazione debug di Eclipse su -- package <package to run> instrument .

Debug remoto con Eclipse

Segui questi passaggi per eseguire il debug remoto di una sessione tradefed avviata dalla riga di comando tradefed.sh :

  1. Avvia tradefed.sh con il flag di debug: TF_DEBUG=1 tradefed.sh
  2. Attendi finché non vedi questo messaggio dalla JVM: Listening for transport dt_socket at address: 10088 Ciò significa che la JVM è in attesa che il debugger si colleghi alla porta 10088 .
  3. Collegalo con il debug remoto di Eclipse dal menu principale: seleziona Esegui > Configurazioni debug... .
  4. Nella finestra di dialogo popup, seleziona Applicazione Java remota dal menu a sinistra.
  5. Fare clic sull'icona Nuova configurazione di avvio sulla barra delle azioni.
  6. Assegna un nome alla configurazione come desideri e seleziona tradefederation come progetto.
  7. Popolare la porta utilizzando l'indirizzo fornito in precedenza.
  8. Passa alla scheda Origine e aggiungi i progetti tradefederation e google-tradefed al percorso di ricerca dell'origine .
  9. Fare clic su Debug per avviare la sessione di debug.

Il debugger si collega al processo JVM in ascolto e il terminale che esegue tradefed.sh mostra il prompt tf> .

Per scorrere il codice in modalità debug, imposta un punto di interruzione in Eclipse e richiama il comando Tradefed (ovvero run <test> ) nel terminale. Per eseguire il debug di qualsiasi cosa durante l'avvio di TF, è possibile impostare prima il punto di interruzione e quindi collegare il debugger Eclipse.

SUGGERIMENTO: per utilizzare una porta alternativa, aggiungere TF_DEBUG_PORT=nnn al comando nel passaggio 1 sopra. Puoi anche usarlo in un ambiente di produzione se hai misteriosi bug di blocco su cui indagare: cambia suspend=y in suspend=n in tradefed.sh e inizia con il flag di debug. La JVM non attenderà il collegamento del debugger, ma puoi farlo in qualsiasi momento purché il processo sia ancora in esecuzione.

Debug remoto tramite JDB

Per utilizzare Java Debugger JDB, seguire passaggi simili a quelli per Eclipse:

  1. Avvia tradefed.sh con il flag di debug: TF_DEBUG=1 tradefed.sh
  2. Attendi finché non viene visualizzato il messaggio da JVM: Listening for transport dt_socket at address: 10088 .
  3. Connetti jdb . Ad esempio, da croot esegui:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Attendi la connessione ed esegui il debug! Esegui man jdb per ulteriore aiuto.

Esaminare la copertura del codice

  1. Installa il plugin Eclemma .
  2. Vai su Aiuto > Installa nuovo software e indirizza la procedura guidata a: http://update.eclemma.org/
  3. Una volta installato, selezionare l'opzione Coverage As > JUnit test per eseguire un'esecuzione del code cover.