Komut Zamanlayıcı

public class CommandScheduler
extends Object implements ICommandScheduler

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


Mevcut tüm cihazlarda TradeFederation komutlarını ç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ışır. örneğin seyrek veya hızlı çalışan komutlar, uzun süre çalışan komutlara göre öncelik kazanır.

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

Özet

iç içe sınıflar

enum CommandScheduler.HostState

Ana bilgisayarın farklı durumunun numaralandırmaları

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ı beklemek 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ına dayalı bir temsilci 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 durumu hakkında ayrıntılı hata ayıklama bilgisi çıktısı alın.

void displayCommandsInfo (PrintWriter printWriter, String regex)

Geçerli komutların bir listesini çıkarın.

void displayInvocationsInfo (PrintWriter printWriter)

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

void dumpCommandsXml (PrintWriter printWriter, String regex)

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

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

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

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

Doğrudan bir aygıt tahsis eder ve bir komutu komut kuyruğuna eklemeden yürütür.

void execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)

Komutu önceden tahsis edilmiş cihazda doğrudan yürütün.

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ı hakkındaki 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 Throwable .

int getReadyCommandCount ()

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

long getShutdownTimeout ()
void notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

Tüm komutları zamanlayıcıdan kaldır

void run ()

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

void setClearcutClient (ClearcutClient client)

İstemciyi kablo demeti verilerini bildirecek şekilde ayarlayın

boolean shouldShutdownOnCmdfileError ()

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

void shutdown ()

Komut zamanlayıcıyı zarif bir şekilde kapatmaya çalışın.

void shutdownHard (boolean killAdb)

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

void shutdownHard ()

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

void shutdownOnEmpty ()

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

void start ()

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

boolean stopInvocation (int invocationId, String cause)

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

boolean stopInvocation ( ITestInvocation invocation)

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

Korumalı yöntemler

void cleanUp ()

Çıkmadan önce günlükleri kapatır ve gerekli diğer temizleme işlemlerini yapar.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

IConfigurationFactory başvuru almak için fabrika yöntemi

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

IDeviceManager başvuru almak için fabrika yöntemi

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

IKeyStoreFactory bildirilen IKeyStoreClient kullanarak bir IKeyStoreClient IGlobalConfiguration veya tanımlanmamışsa null.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

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

boolean isShutdown ()
boolean isShuttingDown ()
void processReadyCommands ( IDeviceManager manager)
void waitForAllInvocationThreads ()

Tüm çağırma dizileri tamamlanana kadar bekleyin.

Kamu inşaatçıları

Komut Zamanlayıcı

public CommandScheduler ()

Bir CommandScheduler oluşturur.

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

Genel yöntemler

addKomut

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

Zamanlayıcıya bir komut ekler.

Bir komut, esasen çalıştırılacak bir konfigürasyonun ve bununla ilişkili argümanların bir örneğidir.

"--help" argümanı belirtilirse, yapılandırma için yardım metni stdout'a gönderilir. 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 çift değer, komut başarıyla eklendiyse ilk değer bir Boolean true . İkinci değer, komut başarıyla eklendiyse bilinen komut izleyici kimliğidir (negatif olmayan değer), komut tüm cihazlar için eklendiğinde 0, aksi takdirde -1 döndürür.

atar
ConfigurationException

addKomut Dosyası

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 boş olmamalıdır.

atar
ConfigurationException

beklemek

public void await ()

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

kontrol Delegasyonu

public static TradefedDelegator checkDelegation (String[] args)

Çalıştırmayı devretmemiz gerekip gerekmediğini görmek için komut satırına dayalı bir temsilci oluşturun.

parametreler
args String

İadeler
TradefedDelegator

atar
ConfigurationException

oluşturYayın Haritası

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

oluşturmakSandbox

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 durumu hakkında ayrıntılı hata ayıklama bilgisi çıktısı alın.

displayKomutlarBilgi

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Geçerli komutların bir listesini çıkarın.

parametreler
printWriter PrintWriter : çıktı ERROR(/PrintWriter) .

regex String : Yazdırılmak için komutların eşleşmesi gereken normal ifade. Null ise, tüm komutlar yazdırılacaktır.

görüntülü çağrılarBilgi

public void displayInvocationsInfo (PrintWriter printWriter)

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

parametreler
printWriter PrintWriter : çıktı ERROR(/PrintWriter) .

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

parametreler
printWriter PrintWriter : durumun çıktısını almak için ERROR(/PrintWriter) .

regex String : xml dosyasının boşaltılması için komutların eşleşmesi gereken normal ifade. Null ise, tüm komutlar atılır.

execKomut

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

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

parametreler
context IInvocationContext : varolan bir IInvocationContext .

listener ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener

args String : komut argümanları

atar
ConfigurationException
NoDeviceException

execKomut

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

Doğrudan bir aygıt 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ı

atar
ConfigurationException
NoDeviceException

execKomut

public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                ITestDevice device, 
                String[] args)

Komutu önceden tahsis edilmiş cihazda doğrudan yürütün.

parametreler
listener ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener

device ITestDevice : kullanılacak ITestDevice

args String : komut argümanları

atar
ConfigurationException

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

getInvocationInfo

public String getInvocationInfo (int invocationId)

Çağrı kimliğini belirten bir çağrı hakkındaki 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 .

getLastInvocationÇıkışKodu

public CommandRunner.ExitCode getLastInvocationExitCode ()

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

İadeler
CommandRunner.ExitCode

getLastInvocationAtılabilir

public Throwable getLastInvocationThrowable ()

Çalıştırılan son Throwable . Fırlatılabilir malzeme yoksa null döndürün.

İadeler
Throwable

getReadyKomutSayısı

public int getReadyCommandCount ()

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

İadeler
int

getShutdownTimeout

public long getShutdownTimeout ()

İadeler
long

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

parametreler
cmdFile File

extraArgs

Tüm Komutları kaldır

public void removeAllCommands ()

Tüm komutları zamanlayıcıdan 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 kablo demeti verilerini bildirecek şekilde ayarlayın

parametreler
client ClearcutClient

ShouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

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

İadeler
boolean

kapat

public void shutdown ()

Komut zamanlayıcıyı zarif bir şekilde kapatmaya çalışın.

Test edilmeyi bekleyen komutları temizler ve devam etmekte olan tüm çağrıların düzgün bir şekilde kapatılmasını ister.

Kapatma çağrıldıktan sonra, zamanlayıcı ana döngüsü tamamen çıkmadan önce devam eden tüm çağrıların tamamlanmasını bekleyecektir.

kapatmaSert

public void shutdownHard (boolean killAdb)

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

shutdown() benzer, ancak isteğe bağlı olarak adb bağlantısını da keserek, devam eden çağrıların daha hızlı tamamlanması için 'ilham verme' girişiminde bulunur.

parametreler
killAdb boolean

kapatmaSert

public void shutdownHard ()

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

kapatmaOnEmpty

public void shutdownOnEmpty ()

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

Döngü modunda herhangi bir komut varsa, zamanlayıcının asla çıkmayacağını unutmayın.

Başlat

public void start ()

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

Durdurma

public boolean stopInvocation (int invocationId, 
                String cause)

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

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

cause String : çağrıyı durdurma nedeni.

İadeler
boolean çağrı durdurulduysa true , aksi takdirde false

Durdurma

public boolean stopInvocation (ITestInvocation invocation)

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

parametreler
invocation ITestInvocation

İadeler
boolean çağrı durdurulduysa true , aksi takdirde false

Korumalı yöntemler

Temizlemek

protected void cleanUp ()

Çıkmadan önce günlükleri kapatır ve gerekli diğer temizleme işlemlerini yapar.

Açık, böylece birim testleri alay edebilir.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

parametreler
args String

İadeler
IConfiguration

atar
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

İadeler
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

IConfigurationFactory başvuru almak için fabrika yöntemi

İadeler
IConfigurationFactory kullanılacak IConfigurationFactory

getDeviceManagementSunucusu

protected DeviceManagementGrpcServer getDeviceManagementServer ()

İadeler
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

IDeviceManager başvuru almak için fabrika yöntemi

İadeler
IDeviceManager kullanılacak IDeviceManager

getFeatureSunucusu

protected TradefedFeatureServer getFeatureServer ()

İadeler
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

İadeler
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

IKeyStoreFactory bildirilen IKeyStoreClient kullanarak bir IKeyStoreClient IGlobalConfiguration veya tanımlanmamışsa null.

İadeler
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementSunucusu

protected TestInvocationManagementServer getTestInvocationManagementServer ()

İadeler
TestInvocationManagementServer

initLogging

protected void initLogging ()

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

Açık, böylece birim testleri alay edebilir.

Kapatma

protected boolean isShutdown ()

İadeler
boolean

Kapatılıyor

protected boolean isShuttingDown ()

İadeler
boolean

processReadyKomutlar

protected void processReadyCommands (IDeviceManager manager)

parametreler
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Tüm çağırma dizileri tamamlanana kadar bekleyin.