Pertama, pastikan Anda memahami Penanganan Opsi di Tradefed.
Penyiapan rangkaian pengujian menjelaskan dua lapisan yang ada dalam struktur rangkaian pengujian:
- Suite tingkat teratas
- Modul
Dalam konteks Tradefed non-suite, Anda tidak perlu memikirkannya; setiap opsi masuk ke pemanggilan penuh. Dalam konteks rangkaian, modul tetap terisolasi dari rangkaian; sehingga tidak semua opsi tersedia di tingkatnya.
Meneruskan opsi ke rangkaian pengujian tingkat teratas
Rangkaian tingkat teratas berperilaku seperti konfigurasi Tradefed standar: konfigurasi lengkap termasuk peluncur rangkaian menerima semua opsi seperti konfigurasi Tradefed non-rangkaian.
Meneruskan opsi ke modul
Secara default, modul tidak menerima opsi yang diteruskan ke perintah.
Pengguna harus ditargetkan secara eksplisit untuk menerima opsi melalui opsi
module-arg
. Opsi isolasi modul ini mempermudah proses debug.
Contoh:
cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>
cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true
Sintaksis ini 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 peluncur pengujian setiap modul berdasarkan jenis atau class peluncur.
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
Sintaksis tidak menargetkan modul tertentu, melainkan semua pelari pengujian
dari class tertentu. test-arg
hanya mempertimbangkan penerapan
IRemoteTest
sebagai penerima opsi yang potensial.
Meneruskan opsi ke class pengujian Java di java_test_host
Jika Anda menambahkan @Option
ke class pengujian java sebagai bagian dari
target build java_test_host, Anda harus menggunakan perintah berikut untuk menyuntikkan
opsi tersebut:
cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>
set-option dalam konteks ini adalah opsi peluncur HostTest dari test harness yang membungkus class java Anda untuk dieksekusi.
Jika target file jar Anda untuk opsi berisi beberapa class pengujian, secara default, semuanya diharapkan memiliki @option yang ditentukan atau menggunakan sintaksis berikut untuk menargetkan satu class:
cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>
Meneruskan filter ke rangkaian pengujian
Untuk memfilter beberapa pengujian dari rangkaian pengujian, kita menggunakan --include-filter
dan
--exclude-filter
untuk masing-masing 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