Configurer Éclipse

Suivez ces étapes pour configurer Tradefed à l'aide d'Eclipse.

Créez un espace de travail séparé pour développer Trade Federation, ne réutilisez pas un espace de travail déjà utilisé pour le développement d'appareils Android.

Si nécessaire, vous pouvez télécharger l' IDE Eclipse pour les développeurs Java à partir de : eclipse.org/downloads

Créer des projets

  1. Exécutez make une fois à partir de la ligne de commande. Cela créera des bibliothèques externes dépendantes des projets ci-dessous.
  2. Définissez la variable de chemin de classe TRADEFED_ROOT dans Window > Preferences > Java > Build Path> Classpath Variables et pointez-la vers la racine de votre source tradefed.
  3. Définissez la variable de chemin TRADEFED_ROOT dans Window > Preferences > General > Workspace > Linked Resources et pointez-la vers la racine de votre source tradefed.
  4. Utilisez l'assistant File > Import...-> General > Existing Projects into workspace" pour importer ces projets Java open source sous les chemins suivants :

    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. Facultativement, si vous souhaitez voir le code source ddmlib , joignez le code source d'une branche d'outils dégroupée, telle que /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .

  6. Facultativement, si vous souhaitez également que les projets de harnais CTS soient chargés, importez :

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

Format automatique

REMARQUE : les fichiers requis se trouvent dans development/ide/eclipse dans l'arborescence complète des sources de la plate-forme. Vous devrez donc consulter une branche de plateforme telle que main pour obtenir ces fichiers : /development/main/ide/eclipse/

Utilisez les fichiers de préférences dans Eclipse pour définir automatiquement le formateur sur le guide de style Android. Pour ce faire dans Studio :

  1. Accédez à Fenêtre > Préférences > Java > Style de code .
  2. Sous Formatter , importez le fichier android-formatting.xml .
  3. Sous Organiser > Imports , importez le fichier android.importorder .

Supprimer les espaces de fin

Pour forcer Eclipse à supprimer tous les espaces de fin :

  1. Accédez à Window > Preferences -> Java -> Editor -> Save Actions .
  2. Puis Actions supplémentaires -> Configurer -> Code > onglet Organisation -> Formateur .
  3. Cochez Supprimer les espaces de fin .
  4. Cliquez sur Appliquer et fermer .

Vérifier le style du code

Lors de la soumission d'une liste de modifications, un hook de pré-téléchargement automatique s'exécutera pour vérifier le format de votre code : google-java-format

Cela aide à formater votre code selon la norme commune.

Déboguer l'éclipse

Si vous souhaitez exécuter du code TF via un débogueur dans Eclipse, il est recommandé de créer d'abord un test unitaire pour le code en question car ce sera le moyen le plus simple et le plus rapide d'exercer les fonctionnalités.

Pour déboguer un test unitaire TF, faites simplement un clic droit dessus et sélectionnez Debug As > JUnit test .

Pour déboguer un test fonctionnel TF, suivez les instructions de la section précédente pour exécuter un test fonctionnel mais utilisez le menu Exécuter > Configurations de débogage .

Pour déboguer le programme TF lui-même, lors de l'exécution d'une configuration, suivez les instructions de la section précédente pour exécuter un test fonctionnel mais fournissez les arguments de ligne de commande pour la configuration que vous souhaitez exécuter à l'étape 4. Ainsi, pour déboguer la configuration « instrument », accédez au menu de configuration Exécuter > Déboguer et définissez l'onglet Arguments dans la configuration de débogage Eclipse sur -- package <package to run> instrument .

Débogage à distance avec Eclipse

Suivez ces étapes pour déboguer à distance une session tradefed démarrée à partir de la ligne de commande tradefed.sh :

  1. Démarrez tradefed.sh avec l'indicateur de débogage : TF_DEBUG=1 tradefed.sh
  2. Attendez que cette invite de la JVM s'affiche : Listening for transport dt_socket at address: 10088 Cela signifie que la JVM attend que le débogueur se connecte au port 10088 .
  3. Attachez-vous au débogage à distance d'Eclipse à partir du menu principal : sélectionnez Exécuter > Configurations de débogage... .
  4. Dans la boîte de dialogue contextuelle, sélectionnez Application Java distante dans le menu de gauche.
  5. Cliquez sur l'icône Nouvelle configuration de lancement dans la barre d'action.
  6. Nommez la configuration comme vous le souhaitez et sélectionnez tradefederation comme projet.
  7. Remplissez le port en utilisant l'adresse fournie précédemment.
  8. Basculez vers l'onglet Source et ajoutez les projets tradefederation et google-tradefed au chemin de recherche source .
  9. Cliquez sur Déboguer pour démarrer la session de débogage.

Le débogueur s'attache au processus JVM d'écoute et le terminal exécutant tradefed.sh affiche l'invite tf> .

Pour parcourir votre code en mode débogage, définissez un point d'arrêt dans Eclipse et appelez votre commande Tradefed (c'est-à-dire run <test> ) dans le terminal. Pour déboguer quoi que ce soit lors du démarrage de TF, vous pouvez d'abord définir le point d'arrêt, puis attacher le débogueur Eclipse.

CONSEIL : Pour utiliser un autre port, ajoutez TF_DEBUG_PORT=nnn à la commande de l'étape 1 ci-dessus. Vous pouvez même l'utiliser dans un environnement de production si vous avez de mystérieux bogues de blocage à enquêter : remplacez suspend=y par suspend=n dans tradefed.sh et commencez par l'indicateur de débogage. La JVM n'attendra pas que le débogueur se connecte, mais vous pouvez le faire à tout moment tant que le processus est toujours en cours d'exécution.

Débogage à distance à l'aide de JDB

Pour utiliser Java Debugger JDB, suivez des étapes similaires à celles d'Eclipse :

  1. Démarrez tradefed.sh avec l'indicateur de débogage : TF_DEBUG=1 tradefed.sh
  2. Attendez de voir l'invite de la JVM : Listening for transport dt_socket at address: 10088 .
  3. Connectez jdb . Par exemple, depuis croot, exécutez :

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Attendez la connexion et déboguez ! Exécutez man jdb pour plus d'aide.

Examiner la couverture du code

  1. Installez le plugin Eclemma .
  2. Accédez à Aide > Installer un nouveau logiciel et pointez l'assistant vers : http://update.eclemma.org/
  3. Une fois installé, sélectionnez l’option de test Coverage As > JUnit pour effectuer une exécution de couverture de code.