Pertama, pastikan Anda memahami Penanganan Opsi di Tradefed.
Pengaturan suite menjelaskan dua lapisan yang ada dalam struktur suite:
- Suite tingkat atas
- Modul
Dalam konteks Tradefed non-suite, tidak perlu memikirkannya; setiap opsi beralih ke doa penuh. Dalam konteks suite, modul disimpan terisolasi dari suite; jadi tidak semua opsi tersedia di levelnya.
Berikan opsi ke suite tingkat atas
Suite tingkat atas berperilaku seperti konfigurasi Tradefed standar: konfigurasi lengkap termasuk runner suite menerima semua opsi seperti konfigurasi Tradefed non-suite.
Berikan opsi ke modul
Modul secara default tidak menerima opsi apa pun yang diteruskan ke perintah. Mereka harus secara eksplisit ditargetkan untuk menerima opsi melalui opsi module-arg
. Isolasi opsi modul ini membuat debugging lebih mudah.
Contoh:
cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>
cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true
Sintaks memastikan bahwa modul yang ditargetkan akan menerima opsi yang diberikan.
Ada cara tambahan untuk meneruskan opsi ke modul seperti test-arg
, yang memungkinkan Anda meneruskan opsi ke runner pengujian setiap modul berdasarkan jenis atau kelas runner.
Contoh:
cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>
cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true
Sintaksnya tidak menargetkan modul tertentu melainkan semua pelari uji dari kelas yang diberikan. test-arg
hanya mempertimbangkan implementasi IRemoteTest sebagai calon penerima opsi.
Melewati opsi ke kelas pengujian java di java_test_host
Jika Anda menambahkan @Option
ke kelas pengujian Java Anda sebagai bagian dari target build Java_test_host, Anda harus menggunakan yang berikut ini untuk menyuntikkan opsi itu:
cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>
set-option dalam konteks ini adalah opsi runner HostTest dari test harness yang membungkus kelas java Anda untuk menjalankannya.
Lewati filter ke suite
Untuk memfilter beberapa pengujian dari suite, kami menggunakan --include-filter
dan --exclude-filter
untuk memaksa menyertakan atau mengecualikan pengujian atau modul tertentu. Pengecualian memiliki prioritas.
Mereka menggunakan format ini: [abi] <module-name> [test name]
Contoh:
--include-filter CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes