Ikuti langkah-langkah berikut untuk menyiapkan Tradefed menggunakan Eclipse.
Buat ruang kerja terpisah untuk mengembangkan Trade Federation, jangan gunakan kembali ruang kerja yang sudah digunakan untuk pengembangan perangkat Android.
Jika perlu, Anda dapat mendownload Eclipse IDE untuk developer Java dari: eclipse.org/downloads
Membuat project
- Jalankan make sekali dari command line. Tindakan ini akan mem-build library eksternal yang bergantung pada project di bawah.
- Tetapkan variabel classpath TRADEFED_ROOT di
Window > Preferences > Java > Build Path> Classpath Variables
dan arahkan ke root sumber tradefed Anda - Tetapkan variabel jalur TRADEFED_ROOT di
Window > Preferences > General > Workspace > Linked Resources
dan arahkan ke root sumber yang diperdagangkan Gunakan wizard
File > Import...-> General > Existing Projects into workspace"
untuk memasukkan project Java open source ini di bawah jalur berikut: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
Secara opsional, jika Anda ingin melihat kode sumber
ddmlib
, lampirkan kode sumber dari cabang alat yang tidak dipaketkan, seperti /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.Secara opsional, jika Anda juga ingin project harness CTS dimuat, impor:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Format otomatis
CATATAN: File yang diperlukan berada dalam development/ide/eclipse
di hierarki sumber
platform lengkap. Jadi, Anda harus memeriksa cabang platform seperti main
untuk mendapatkan file ini:
/development/main/ide/eclipse/
Gunakan file preferensi di Eclipse untuk menetapkan pemformat secara otomatis ke panduan gaya Android. Untuk melakukannya di Studio:
- Buka Window > Preferences > Java > Code Style.
- Di bagian Formatter, impor file
android-formatting.xml
. - Di bagian Organize > Imports, impor file
android.importorder
.
Menghapus spasi kosong di akhir
Untuk memaksa Eclipse menghapus semua spasi kosong di akhir:
- Buka Window > Preferences -> Java -> Editor -> Save Actions.
- Kemudian, Tindakan Tambahan -> Konfigurasi -> Kode > tab Pengaturan -> Formatter.
- Centang Hapus Spasi Kosong di Akhir.
- Klik Terapkan dan Tutup.
Memeriksa gaya kode
Saat mengirimkan daftar perubahan, hook pra-upload otomatis akan berjalan untuk memeriksa
format kode Anda: google-java-format
Hal ini membantu memformat kode Anda ke standar umum.
Debug Eclipse
Jika Anda ingin menjalankan kode TF melalui debugger di Eclipse, sebaiknya buat pengujian unit terlebih dahulu untuk kode yang dimaksud karena ini akan menjadi cara paling sederhana dan tercepat untuk menjalankan fungsi.
Untuk men-debug pengujian unit TF, cukup klik kanan dan pilih Debug As > JUnit test.
Untuk men-debug pengujian fungsional TF, ikuti petunjuk di bagian sebelumnya untuk menjalankan pengujian fungsional, tetapi gunakan menu Run > Debug configurations.
Untuk men-debug program TF itu sendiri, saat menjalankan konfigurasi apa pun, ikuti
petunjuk di bagian sebelumnya untuk menjalankan pengujian fungsional, tetapi berikan
argumen command line untuk konfigurasi yang ingin Anda jalankan di langkah 4. Jadi,
untuk men-debug konfigurasi 'instrumen', buka menu
Run > Debug configuration dan tetapkan tab Arguments di konfigurasi debug Eclipse ke
-- package <package to run> instrument
.
Debug jarak jauh dengan Eclipse
Ikuti langkah-langkah berikut untuk men-debug sesi tukar tambah yang dimulai dari
command line tradefed.sh
dari jarak jauh:
- Mulai tradefed.sh dengan flag debug:
TF_DEBUG=1 tradefed.sh
- Tunggu hingga Anda melihat perintah ini dari JVM:
Listening for transport dt_socket at address: 10088
Ini berarti JVM menunggu debugger dipasang di port10088
. - Lampirkan dengan proses debug jarak jauh Eclipse dari menu utama: Pilih Run > Debug Configurations....
- Pada dialog pop-up, pilih Remote Java Application dari menu kiri.
- Klik ikon New launch configuration di panel tindakan.
- Beri nama konfigurasi sesuai keinginan Anda, lalu pilih tradefederation sebagai project.
- Isi port menggunakan alamat yang diberikan sebelumnya.
- Beralihlah ke tab Source dan tambahkan project tradefederation dan google-tradefed ke Source Lookup Path.
- Klik Debug untuk memulai sesi proses debug.
Debugger dilampirkan ke proses JVM yang memproses, dan terminal yang menjalankan
tradefed.sh
menampilkan perintah tf>
.
Untuk menelusuri kode Anda dalam mode debug, tetapkan titik henti sementara di Eclipse dan panggil perintah Tradefed (yaitu run <test>
) di terminal. Untuk men-debug apa pun
selama startup TF, Anda dapat menetapkan titik henti sementara terlebih dahulu, lalu melampirkan debugger
Eclipse.
TIPS: Untuk menggunakan port alternatif, tambahkan TF_DEBUG_PORT=nnn
ke perintah di langkah 1
di atas. Anda bahkan dapat menggunakannya di lingkungan produksi jika memiliki bug hang misterius yang perlu diselidiki: ubah suspend=y
menjadi suspend=n
di tradefed.sh
dan mulai dengan flag debug. JVM tidak akan menunggu debugger dilampirkan, tetapi Anda dapat melakukannya
kapan saja selama proses masih berjalan.
Men-debug jarak jauh menggunakan JDB
Untuk menggunakan Java Debugger JDB, ikuti langkah-langkah yang mirip dengan langkah-langkah untuk Eclipse:
- Mulai
tradefed.sh
dengan flag debug:TF_DEBUG=1 tradefed.sh
- Tunggu hingga Anda melihat perintah dari JVM:
Listening for transport dt_socket at address: 10088
. Hubungkan
jdb
. Misalnya, dari croot, jalankan:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Tunggu koneksi dan debug selesai. Jalankan
man jdb
untuk mendapatkan bantuan lebih lanjut.
Memeriksa cakupan kode
- Instal plugin Eclemma.
- Buka Help > Install New Software dan arahkan wizard ke: http://update.eclemma.org/
- Setelah diinstal, pilih opsi pengujian Cakupan As > JUnit untuk menjalankan cakupan kode.