StrictShardHelper

public class StrictShardHelper
extends ShardHelper

java.lang.Object
com.android.tradefed.invoker.shard.ShardHelper
  com.android.tradefed.invoker.shard.StrictShardHelper


Strategi sharding untuk membuat shard ketat yang tidak dilaporkan bersama,

Ringkasan

Konstruktor publik

StrictShardHelper()

Metode publik

boolean shardConfig(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)

Berupaya membagi konfigurasi menjadi sub-konfigurasi, yang akan dijadwalkan ulang untuk dijalankan di beberapa resource secara paralel.

Metode yang dilindungi

boolean shardConfigDynamic(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
boolean shardConfigInternal(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
List<List<IRemoteTest>> splitTests(List<IRemoteTest> fullList, int shardCount, boolean useEvenModuleSharding)

Membagi daftar pengujian untuk dijalankan sesuai dengan yang dianggap sesuai oleh implementasi.

Konstruktor publik

StrictShardHelper

public StrictShardHelper ()

Metode publik

shardConfig

public boolean shardConfig (IConfiguration config, 
                TestInformation testInfo, 
                IRescheduler rescheduler, 
                ITestLogger logger)

Berupaya membagi konfigurasi menjadi sub-konfigurasi, yang akan dijadwalkan ulang untuk dijalankan di beberapa resource secara paralel.

Tindakan shard yang berhasil akan membuat konfigurasi saat ini kosong, dan pemanggilan tidak boleh dilanjutkan.

Parameter
config IConfiguration: IConfiguration saat ini.

testInfo TestInformation: TestInformation yang menyimpan informasi pengujian.

rescheduler IRescheduler: the IRescheduler

logger ITestLogger

Hasil
boolean benar jika pengujian di-shard. Jika tidak, tampilkan false

Metode yang dilindungi

shardConfigDynamic

protected boolean shardConfigDynamic (IConfiguration config, 
                TestInformation testInfo, 
                IRescheduler rescheduler, 
                ITestLogger logger)

Parameter
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Hasil
boolean

shardConfigInternal

protected boolean shardConfigInternal (IConfiguration config, 
                TestInformation testInfo, 
                IRescheduler rescheduler, 
                ITestLogger logger)

Parameter
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Hasil
boolean

splitTests

protected List<List<IRemoteTest>> splitTests (List<IRemoteTest> fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Membagi daftar pengujian untuk dijalankan sesuai dengan yang dianggap sesuai oleh implementasi. Sharding harus konsisten. Anda dapat menampilkan daftar kosong jika tidak ada pengujian yang dapat dijalankan di shard.

Terapkan hal ini untuk menyediakan sharding khusus suite pengujian. Implementasi default mencoba menyeimbangkan jumlah IRemoteTest per shard sebanyak mungkin sebagai langkah pertama, lalu menggunakan kriteria kecil atau petunjuk eksekusi untuk menyesuaikan daftar sedikit lebih banyak.

Parameter
fullList List: daftar lengkap awal IRemoteTest yang berisi semua pengujian yang perlu dijalankan.

shardCount int: jumlah total shard yang perlu dijalankan.

useEvenModuleSharding boolean: apakah akan menggunakan strategi yang mendistribusikan jumlah modul secara merata di seluruh shard

Hasil
List<List<IRemoteTest>> daftar IRemoteTest yang telah ditetapkan ke setiap shard. Ukuran daftar akan menjadi shardCount.