הגדרת Eclipse

כדי להגדיר את Tradefed באמצעות Eclipse, פועלים לפי השלבים הבאים.

צריך ליצור סביבת עבודה נפרדת כדי לפתח את Trade Federation, ולא להשתמש מחדש בסביבת עבודה שכבר משמשת לפיתוח מכשירי Android.

במקרה הצורך, אפשר להוריד את Eclipse IDE for Java developers מהכתובת: eclipse.org/downloads

יצירת פרויקטים

  1. מריצים את הפקודה make פעם אחת משורת הפקודה. הפעולה הזו תיצור ספריות חיצוניות שהפרויקטים שבהמשך תלויים בהן.
  2. מגדירים את משתנה נתיב המחלקה TRADEFED_ROOT ב-Window > Preferences > Java > Build Path> Classpath Variables ומפנים אותו אל שורש המקור של Tradefed.
  3. מגדירים את משתנה הנתיב TRADEFED_ROOT ב-Window > Preferences > General > Workspace > Linked Resources ומפנים אותו אל שורש המקור של Tradefed.
  4. משתמשים באשף File > Import...-> General > Existing Projects into workspace" כדי לייבא את פרויקטי Java בקוד פתוח בנתיבים הבאים:

    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. אופציונלי: אם רוצים לראות את קוד המקור של ddmlib, צריך לצרף את קוד המקור מהסתעפות של כלים שלא נכללים בחבילה, כמו /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. אם רוצים לטעון גם את הפרויקטים של CTS harness, מייבאים:

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

פורמט אוטומטי

הערה: הקבצים הנדרשים נמצאים בתיקייה development/ide/eclipse בעץ המקור של הפלטפורמה המלאה. לכן צריך לבדוק ענף של פלטפורמה כמו android-latest-release כדי לקבל את הקבצים האלה: /development/android16-qpr2-release/ide/eclipse/

אפשר להשתמש בקובצי העדפות ב-Eclipse כדי להגדיר אוטומטית את מעצב הקוד בהתאם למדריך הסגנון של Android. כדי לעשות את זה ב-Studio:

  1. עוברים אל חלון> העדפות > Java > סגנון הקוד.
  2. בקטע כלי העיצוב, מייבאים את הקובץ android-formatting.xml.
  3. בקטע ארגון > ייבוא, מייבאים את הקובץ android.importorder.

הסרת רווחים לבנים בסוף

כדי לכפות על Eclipse להסיר את כל הרווחים הלבנים בסוף השורה:

  1. עוברים אל חלון > העדפות -> Java -> עורך -> שמירת הפעולות.
  2. אחר כך, עוברים אל פעולות נוספות -> הגדרות -> קוד -> הכרטיסייה "ארגון" -> כלי העיצוב.
  3. מסמנים את התיבה הסרת רווחים לבנים בסוף השורה.
  4. לוחצים על אישור וסגירה.

בדיקת סגנון הקוד

כששולחים רשימת שינויים, לפני ההעלאה יופעל הוק באופן אוטומטי כדי לבדוק את פורמט הקוד: google-java-format

הבדיקה מאפשרת לכם לעצב את הקוד לפי הסטנדרט.

ניפוי באגים ב-Eclipse

אם רוצים להריץ קוד TF דרך כלי לניפוי באגים ב-Eclipse, מומלץ ליצור קודם בדיקת יחידה לקוד הרלוונטי. זו הדרך הפשוטה והמהירה ביותר לבדוק את הפונקציונליות.

כדי לנפות באגים בבדיקת יחידה של TF, פשוט לוחצים עליה לחיצה ימנית ובוחרים באפשרות ניפוי באגים בתור > בדיקת Junit.

כדי לנפות באגים בבדיקה פונקציונלית של TF, פועלים לפי ההוראות שבקטע הקודם להרצת בדיקה פונקציונלית, אבל משתמשים בתפריט הפעלה > הגדרות לניפוי באגים.

כדי לנפות באגים בתוכנת ה-TF עצמה, כשמריצים הגדרה כלשהי, פועלים לפי ההוראות שבקטע הקודם להרצת בדיקה פונקציונלית, אבל בשלב 4 מספקים את הארגומנטים של שורת הפקודה להגדרה שרוצים להריץ. כדי לנפות באגים בהגדרת האינסטרומנט, עוברים לתפריט הפעלה > הגדרות לניפוי באגים ומגדירים את הכרטיסייה ארגומנטים בהגדרת ניפוי הבאגים של Eclipse ל--- package <package to run> instrument.

ניפוי באגים מרחוק באמצעות Eclipse

כדי לנפות באגים מרחוק בסשן tradefed שהופעל משורת הפקודה tradefed.sh:

  1. מפעילים את tradefed.sh עם דגל ניפוי הבאגים: TF_DEBUG=1 tradefed.sh
  2. מחכים עד שמופיעה ההנחיה הבאה מ-JVM: Listening for transport dt_socket at address: 10088 זה אומר ש-JVM ממתין לחיבור של מאתר הבאגים ביציאה 10088.
  3. מצרפים באמצעות ניפוי באגים מרחוק של Eclipse מהתפריט הראשי: בוחרים באפשרות הפעלה > הגדרות ניפוי באגים…‎.
  4. בתיבת הדו-שיח שקופצת, בוחרים באפשרות אפליקציית Java מרוחקת בתפריט הימני.
  5. לוחצים על הסמל הגדרת השקה חדשה בסרגל הפעולות.
  6. נותנים להגדרה את השם שרוצים, ובוחרים באפשרות tradefederation בתור הפרויקט.
  7. מזינים את הכתובת שצוינה למעלה.
  8. עוברים לכרטיסייה מקור ומוסיפים את הפרויקטים tradefederation ו-google-tradefed אל נתיב החיפוש של המקור.
  9. כדי להתחיל לנפות באגים, לוחצים על ניפוי באגים.

הכלי לניפוי באגים מצורף לתהליך ה-JVM שממתין, והטרמינל שמריץ את tradefed.sh מציג את ההנחיה tf>.

כדי להריץ את הקוד במצב ניפוי באגים, מגדירים נקודת עצירה ב-Eclipse ומפעילים את פקודת Tradefed (למשל, run <test>) במסוף. כדי לנפות באגים במהלך ההפעלה של TF, אפשר להגדיר קודם את נקודת העצירה ואז לצרף את הכלי לניפוי באגים של Eclipse.

טיפ: כדי להשתמש ביציאה חלופית, מוסיפים את TF_DEBUG_PORT=nnnלפקודה בשלב 1 שלמעלה. אם יש באגים מסתוריים שתוקעים את המערכת ורוצים לבדוק אותם: משנים את suspend=y ל-suspend=n ב-tradefed.sh ומתחילים עם דגל ניפוי הבאגים. מכונת ה-JVM לא תחכה שהכלי לניפוי באגים יצורף, אבל אפשר לעשות זאת בכל שלב כל עוד התהליך עדיין פועל.

ניפוי באגים מרחוק באמצעות JDB

כדי להשתמש בכלי לניפוי באגים ב-Java‏ (JDB), פועלים לפי שלבים דומים לאלה של Eclipse:

  1. מפעילים את tradefed.sh עם דגל ניפוי הבאגים: TF_DEBUG=1 tradefed.sh
  2. מחכים עד שמופיעה ההנחיה מ-JVM: ‏ Listening for transport dt_socket at address: 10088.
  3. מחברים את jdb. לדוגמה, מ-croot run:

    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 כדי להריץ בדיקה של רמת הכיסוי של הקוד.