StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


strategia dzielenia na fragmenty, która tworzy ścisłe fragmenty, które nie raportują razem;

Podsumowanie

Konstruktory publiczne

StrictShardHelper()

Metody publiczne

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

Spróbuj podzielić konfigurację na podkonfiguracje, które zostaną ponownie zaplanowane do uruchomienia na wielu zasobach równolegle.

Metody chronione

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)

Podziel listę testów do uruchomienia w dowolny sposób, który uznasz za odpowiedni.

Konstruktory publiczne

StrictShardHelper

public StrictShardHelper ()

Metody publiczne

shardConfig

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

Spróbuj podzielić konfigurację na podkonfiguracje, które zostaną ponownie zaplanowane do uruchomienia na wielu zasobach równolegle.

Jeśli działanie na fragmencie zakończy się powodzeniem, bieżąca konfiguracja będzie pusta i nie należy kontynuować wywołania.

Parametry
config IConfiguration: bieżący IConfiguration.

testInfo TestInformation: TestInformation zawierający informacje o testach.

rescheduler IRescheduler: IRescheduler

logger ITestLogger

Zwraca
boolean Wartość „true”, jeśli test został podzielony na części. W przeciwnym razie zwróć false

Metody chronione

shardConfigDynamic

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

Parametry
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Zwraca
boolean

shardConfigInternal

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

Parametry
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Zwraca
boolean

splitTests

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

Podziel listę testów do uruchomienia w dowolny sposób, który uznasz za odpowiedni. Podział na partycje musi być spójny. Jeśli w części nie można uruchomić żadnych testów, można zwrócić pustą listę.

Wdróż to, aby zapewnić dzielenie na fragmenty specyficzne dla zestawu testów. Domyślna implementacja w pierwszej kolejności próbuje jak najbardziej zrównoważyć liczbę interfejsów IRemoteTest w poszczególnych fragmentach, a następnie używa dodatkowych kryteriów lub wskazówek dotyczących uruchomienia, aby nieco dostosować listy.

Parametry
fullList List: początkowa pełna lista IRemoteTest zawierająca wszystkie testy, które należy uruchomić.

shardCount int: łączna liczba fragmentów, które muszą zostać uruchomione.

useEvenModuleSharding boolean: czy używać strategii, która równomiernie rozdziela liczbę modułów między fragmenty

Zwraca
List<List<IRemoteTest>> lista list IRemoteTest przypisanych do każdego fragmentu. Rozmiar listy będzie równy wartości shardCount.