Komut Zamanlayıcı

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
com.android.tradefed.command.CommandScheduler


TradeFederation komutlarını mevcut tüm cihazlarda çalıştırmak için bir zamanlayıcı.

Yürütme sürelerinin toplam çalışma sayısına göre çalıştırılacak komutlara öncelik vermeye çalışacaktır. örneğin, seyrek veya hızlı çalışan komutlar, uzun süren komutlara göre önceliklendirilecektir.

Kapatılana kadar arka planda sonsuza kadar çalışır.

Özet

Kamu inşaatçıları

CommandScheduler ()

Bir CommandScheduler oluşturur.

Genel yöntemler

Pair <Boolean, Integer> addCommand (String[] args)

Zamanlayıcıya bir komut ekler.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

Verilen dosyadaki tüm komutları zamanlayıcıya ekler

void await ()

Varsa, eski TF'den devir teslimin tamamlanmasının beklenmesi de dahil olmak üzere zamanlayıcının çalışmaya başlamasını bekler.

static TradefedDelegator checkDelegation (String[] args)

Çalıştırmayı devretmemiz gerekip gerekmediğini görmek için komut satırını temel alan bir delegatör oluşturun.

static createReleaseMap ( IInvocationContext context, Throwable e)

Uygun şekilde yayınlanabilmeleri için cihazların durumunun bir haritasını oluşturun.

ISandbox createSandbox ()

Çağrının çalıştırmak için kullanacağı bir ISandbox oluşturun.

void displayCommandQueue (PrintWriter printWriter)

Komut yürütme kuyruğunun durumuna ilişkin ayrıntılı hata ayıklama bilgilerinin çıktısını alın.

void displayCommandsInfo (PrintWriter printWriter, String regex)

Geçerli komutların bir listesinin çıktısını alın.

void displayInvocationsInfo (PrintWriter printWriter)

Geçerli çağrıların listesini görüntüler.

void dumpCommandsXml (PrintWriter printWriter, String regex)

Komutun genişletilmiş xml dosyasını, tüm geçerli komutlar için belirtilen tüm Option değerleriyle birlikte boşaltın.

long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)

Zaten tahsis edilmiş cihazlarda komutu doğrudan yürütün.

long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)

Bir cihazı doğrudan tahsis eder ve zaten var olan bir IInvocationContext kullanarak bir komutu komut kuyruğuna eklemeden yürütür.

long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args)

Bir cihazı doğrudan tahsis eder ve bir komutu, komut kuyruğuna eklemeden yürütür.

CommandFileWatcher getCommandFileWatcher ()

Bu zamanlayıcı için uygun CommandFileWatcher'ı edinin

int getExecutingCommandCount ()

Yürütme durumundaki Komutların sayısını döndürür.

CommandScheduler.HostState getHostState ()
String getInvocationInfo (int invocationId)

Çağrı kimliğini belirten bir çağrı veriyoluna ilişkin bilgileri döndürün.

CommandRunner.ExitCode getLastInvocationExitCode ()

Çalıştırılan son çağrının hata kodunu döndürün.

Throwable getLastInvocationThrowable ()

Çalıştırılan son çağrıdan Throwable döndür.

int getReadyCommandCount ()

Sıradaki hazır durumdaki Komutların sayısını döndürür.

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

Cihaz etkin bir çağırma iş parçacığı tarafından kullanılıyorsa true değerini döndürür.

boolean isShuttingDown ()
void notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

Zamanlayıcıdaki tüm komutları kaldır

void run ()

Bu iş parçacığının ana yürütme bloğu.

void setClearcutClient (ClearcutClient client)

İstemciyi donanım verilerini rapor edecek şekilde ayarlayın

boolean shouldShutdownOnCmdfileError ()

Bir komut hatasında zamanlayıcıyı kapatmamız gerekirse true değerini döndürün

void shutdown (boolean notifyStop)

Komut zamanlayıcıyı düzgün bir şekilde kapatmayı deneyin.

void shutdownHard (boolean killAdb)

Komut zamanlayıcıyı zorla kapatmayı deneyin.

void shutdownHard ()

Komut zamanlayıcıyı zorla kapatmayı deneyin.

void shutdownOnEmpty ()

shutdown() işlevine benzer, ancak bunun yerine çıkmadan önce tüm komutların yürütülmesini bekleyecektir.

void start ()

Günlüğe kaydetmenin ayarlanması, DeviceManager başlatılması vb. dahil olmak üzere zamanlayıcıyı başlatır

boolean stopInvocation ( ITestInvocation invocation)

Çalışan bir çağrıyı durdurun.

boolean stopInvocation (int invocationId, String cause)

Çalışan bir çağrıyı kimliğini belirterek durdurun.

void stopScheduling ()

Yeni testler planlamayı ve kabul etmeyi durdurur ancak Tradefed'i durdurmaz.

Korumalı yöntemler

void cleanUp ()

Günlükleri kapatır ve çıkmadan önce gerekli diğer temizliği yapar.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
void dryRunCommandReporting ( ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)

Belirli bir komutun deneme amaçlı olup olmadığını belirler.

long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory ()

IConfigurationFactory referans almak için fabrika yöntemi

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

IDeviceManager referans almak için fabrika yöntemi

TradefedFeatureServer getFeatureServer ()
IHostOptions getHostOptions ()
IKeyStoreClient getKeyStoreClient ()

IGlobalConfiguration bildirilen IKeyStoreFactory veya hiçbiri tanımlanmamışsa null'u kullanarak bir IKeyStoreClient getirir.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Ddmlib günlüğünü başlatır.

boolean isShutdown ()
void processReadyCommands ( IDeviceManager manager)

Kamu inşaatçıları

Komut Zamanlayıcı

public CommandScheduler ()

Bir CommandScheduler oluşturur.

Not: start kullanılmadan önce çağrılmalıdır.

Genel yöntemler

addKomut

public Pair<Boolean, Integer> addCommand (String[] args)

Zamanlayıcıya bir komut ekler.

Bir komut aslında çalıştırılacak bir yapılandırmanın ve bununla ilişkili bağımsız değişkenlerin bir örneğidir.

Eğer "--help" argümanı belirtilirse yapılandırmanın yardım metni stdout'a aktarılacaktır. Aksi takdirde, yapılandırma çalıştırılmak üzere kuyruğa eklenecektir.

Parametreler
args String : yapılandırma argümanları.

İadeler
Pair <Boolean, Integer> Bir değer çifti; komut başarıyla eklenmişse ilk değer Boolean true . İkinci değer, bilinen komut izleyici kimliğidir (negatif olmayan değer), eğer komut başarıyla eklenmişse, tüm cihazlar için komut eklendiğinde 0 değerini, aksi halde -1 değerini döndürün.

Atar
ConfigurationException

komutDosyası ekle

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Verilen dosyadaki tüm komutları zamanlayıcıya ekler

Parametreler
cmdFilePath String : komut dosyasının dosya sistemi yolu

extraArgs : dosyadan ayrıştırılan her komuta eklenecek String bağımsız değişkenlerinden oluşan bir ERROR(/List) . Boş olabilir ancak null olmamalıdır.

Atar
ConfigurationException

beklemek

public void await ()

Varsa, eski TF'den devir teslimin tamamlanmasının beklenmesi de dahil olmak üzere zamanlayıcının çalışmaya başlamasını bekler.

kontrolYetkili

public static TradefedDelegator checkDelegation (String[] args)

Çalıştırmayı devretmemiz gerekip gerekmediğini görmek için komut satırını temel alan bir delegatör oluşturun.

Parametreler
args String

İadeler
TradefedDelegator

Atar
com.android.tradefed.config.ConfigurationException
ConfigurationException

CreateReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Uygun şekilde yayınlanabilmeleri için cihazların durumunun bir haritasını oluşturun.

Parametreler
context IInvocationContext

e Throwable

İadeler

Sandbox oluştur

public ISandbox createSandbox ()

Çağrının çalıştırmak için kullanacağı bir ISandbox oluşturun.

İadeler
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Komut yürütme kuyruğunun durumuna ilişkin ayrıntılı hata ayıklama bilgilerinin çıktısını alın.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Geçerli komutların bir listesinin çıktısını alın.

Parametreler
printWriter PrintWriter : çıktının alınacağı ERROR(/PrintWriter) .

regex String : yazdırılabilmesi için komutların eşleştirilmesi gereken normal ifade. Eğer null ise tüm komutlar yazdırılacaktır.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Geçerli çağrıların listesini görüntüler.

Parametreler
printWriter PrintWriter : çıktının alınacağı ERROR(/PrintWriter) .

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Komutun genişletilmiş xml dosyasını, tüm geçerli komutlar için belirtilen tüm Option değerleriyle birlikte boşaltın.

Parametreler
printWriter PrintWriter : Durumun çıktısının alınacağı ERROR(/PrintWriter) .

regex String : xml dosyasının boşaltılması için komutların eşleştirilmesi gereken normal ifade. Eğer null ise tüm komutlar atılacaktır.

execCommand

public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

Zaten tahsis edilmiş cihazlarda komutu doğrudan yürütün.

Parametreler
listener ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener

reservedDevices : ERROR(/List ) ERROR(/List ) kullanmak

args String : komut argümanları

İadeler
long Zamanlanan komutun çağrı kimliği.

Atar
ConfigurationException

execCommand

public long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Bir cihazı doğrudan tahsis eder ve zaten var olan bir IInvocationContext kullanarak bir komutu komut kuyruğuna eklemeden yürütür.

Parametreler
context IInvocationContext : mevcut bir IInvocationContext .

listener ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener

args String : komut argümanları

İadeler
long

Atar
ConfigurationException
NoDeviceException

execCommand

public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Bir cihazı doğrudan tahsis eder ve bir komutu, komut kuyruğuna eklemeden yürütür.

Parametreler
listener ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener

args String : komut argümanları

İadeler
long Zamanlanan komutun çağrı kimliği.

Atar
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Bu zamanlayıcı için uygun CommandFileWatcher'ı edinin

İadeler
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Yürütme durumundaki Komutların sayısını döndürür.

İadeler
int

getHostState

public CommandScheduler.HostState getHostState ()

İadeler
CommandScheduler.HostState

getInvokasyonBilgisi

public String getInvocationInfo (int invocationId)

Çağrı kimliğini belirten bir çağrı veriyoluna ilişkin bilgileri döndürün.

Parametreler
invocationId int : çağrının izleme kimliği.

İadeler
String Çağrı hakkında bilgi içeren bir String .

getLastInvokasyonExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Çalıştırılan son çağrının hata kodunu döndürün. Henüz bir çağrı yapılmadıysa 0 (hata yok) değerini döndürün.

İadeler
CommandRunner.ExitCode

getLastInvokasyonAtılabilir

public Throwable getLastInvocationThrowable ()

Çalıştırılan son çağrıdan Throwable döndür. Atılabilir bir şey yoksa null değerini döndürün.

İadeler
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Sıradaki hazır durumdaki Komutların sayısını döndürür.

İadeler
int

getShutdownTimeout

public long getShutdownTimeout ()

İadeler
long

isDeviceInInvokasyonThread

public boolean isDeviceInInvocationThread (ITestDevice device)

Cihaz etkin bir çağırma iş parçacığı tarafından kullanılıyorsa true değerini döndürür.

Parametreler
device ITestDevice

İadeler
boolean

Kapatılıyor

public boolean isShuttingDown ()

İadeler
boolean

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parametreler
cmdFile File

extraArgs

Tüm Komutları kaldır

public void removeAllCommands ()

Zamanlayıcıdaki tüm komutları kaldır

koşmak

public void run ()

Bu iş parçacığının ana yürütme bloğu.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

İstemciyi donanım verilerini rapor edecek şekilde ayarlayın

Parametreler
client ClearcutClient

ShouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Bir komut hatasında zamanlayıcıyı kapatmamız gerekirse true değerini döndürün

İadeler
boolean

kapat

public void shutdown (boolean notifyStop)

Komut zamanlayıcıyı düzgün bir şekilde kapatmayı deneyin.

Parametreler
notifyStop boolean : doğruysa, TF kapatma çağrılarını bildirir.

kapatmaSert

public void shutdownHard (boolean killAdb)

Komut zamanlayıcıyı zorla kapatmayı deneyin.

shutdown() işlevine benzer, ancak aynı zamanda devam eden çağrıların daha hızlı tamamlanması için 'ilham vermek' amacıyla isteğe bağlı olarak adb bağlantısını da keser.

Parametreler
killAdb boolean

kapatmaSert

public void shutdownHard ()

Komut zamanlayıcıyı zorla kapatmayı deneyin. kapatmaHard(true) ile aynı.

kapatmaOnEmpty

public void shutdownOnEmpty ()

shutdown() işlevine benzer, ancak bunun yerine çıkmadan önce tüm komutların yürütülmesini bekleyecektir.

Herhangi bir komut döngü modundaysa zamanlayıcının asla çıkmayacağını unutmayın.

başlangıç

public void start ()

Günlüğe kaydetmenin ayarlanması, DeviceManager başlatılması vb. dahil olmak üzere zamanlayıcıyı başlatır

çağrıyı durdur

public boolean stopInvocation (ITestInvocation invocation)

Çalışan bir çağrıyı durdurun.

Parametreler
invocation ITestInvocation

İadeler
boolean çağırma durdurulduysa doğru, aksi halde yanlış

çağrıyı durdur

public boolean stopInvocation (int invocationId, 
                String cause)

Çalışan bir çağrıyı kimliğini belirterek durdurun.

Parametreler
invocationId int : çağrının izleme kimliği.

cause String : çağrıyı durdurmanın nedeni.

İadeler
boolean çağırma durdurulduysa doğru, aksi halde yanlış

Planlamayı durdur

public void stopScheduling ()

Yeni testler planlamayı ve kabul etmeyi durdurur ancak Tradefed'i durdurmaz. Bunun amacı, önce çalışan tüm testleri boşaltacağımız, ardından Tradefed sürecini sonlandıracağımız iki adımlı bir kapatmayı mümkün kılmaktır.

Korumalı yöntemler

Temizlemek

protected void cleanUp ()

Günlükleri kapatır ve çıkmadan önce gerekli diğer temizliği yapar.

Birim testlerinin alay edebilmesi için açığa çıkarıldı.

yapılandırmaYapılandırma oluştur

protected IConfiguration createConfiguration (String[] args)

Parametreler
args String

İadeler
IConfiguration

Atar
ConfigurationException

createInvokasyonContext

protected IInvocationContext createInvocationContext ()

İadeler
IInvocationContext

DryRunCommandRaporlama

protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, 
                IConfiguration config)

Belirli bir komutun deneme amaçlı olup olmadığını belirler. Komut bir prova ise doğrulayın. Herhangi bir yapılandırma sorunu varsa, bir ConfigurationException oluşturacaktır.

Parametreler
handler ICommandScheduler.IScheduledInvocationListener : Prova doğrulaması için olayları raporlamak üzere ERROR(/InvocationEventHandler) .

config IConfiguration

İadeler
void Komut deneme amaçlıysa true, aksi halde false.

Atar
com.android.tradefed.config.ConfigurationException
ConfigurationException

execCommand

protected long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

Parametreler
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

İadeler
long

Atar
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

IConfigurationFactory referans almak için fabrika yöntemi

İadeler
IConfigurationFactory kullanılacak IConfigurationFactory

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

İadeler
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

IDeviceManager referans almak için fabrika yöntemi

İadeler
IDeviceManager kullanılacak IDeviceManager

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

İadeler
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

İadeler
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

IGlobalConfiguration bildirilen IKeyStoreFactory veya hiçbiri tanımlanmamışsa null'u kullanarak bir IKeyStoreClient getirir.

İadeler
IKeyStoreClient IKeyStoreClient

getTestInvokasyonManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

İadeler
TestInvocationManagementServer

initLogging

protected void initLogging ()

Ddmlib günlüğünü başlatır.

Birim testlerinin alay edebilmesi için açığa çıkarıldı.

Kapatılıyor

protected boolean isShutdown ()

İadeler
boolean

süreçHazırKomutlar

protected void processReadyCommands (IDeviceManager manager)

Parametreler
manager IDeviceManager