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 melaporkan bersama,

Ringkasan

Konstruktor publik

StrictShardHelper()

Metode publik

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

Mencoba membuat sharding 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)
splitTests( fullList, int shardCount, boolean useEvenModuleSharding)

Pisahkan daftar pengujian yang akan dijalankan sesuai dengan implementasi yang diinginkan.

Konstruktor publik

StrictShardHelper

public StrictShardHelper ()

Metode publik

shardConfig

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

Mencoba membuat sharding 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: IRescheduler

logger ITestLogger

Hasil
boolean benar jika pengujian di-sharding. 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  splitTests ( fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Pisahkan daftar pengujian yang akan dijalankan sesuai dengan implementasi yang diinginkan. Sharding harus konsisten. Anda dapat menampilkan daftar kosong jika tidak ada pengujian yang dapat dijalankan di shard.

Terapkan ini untuk menyediakan sharding khusus rangkaian pengujian. Implementasi default mencoba menyeimbangkan jumlah IRemoteTest per shard sebanyak mungkin sebagai langkah pertama, lalu menggunakan kriteria minor atau petunjuk run untuk menyesuaikan daftar sedikit lebih.

Parameter
fullList : 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
daftar IRemoteTest daftar yang telah ditetapkan ke setiap shard. Ukuran daftar akan menjadi shardCount.