CommandScheduler
public
class
CommandScheduler
extends Thread
implements
ICommandScheduler
| java.lang.Object | ||
| ↳ | java.lang.Thread | |
| ↳ | com.android.tradefed.command.CommandScheduler | |
Mevcut tüm cihazlarda TradeFederation komutlarını çalıştırmak için bir planlayıcı.
Çalıştırılacak komutlara, yürütme sürelerinin toplam çalışma sayısına göre öncelik vermeye çalışır. Örneğin, seyrek veya hızlı çalışan komutlara, uzun süren komutlara göre öncelik verilir.
Kapatılana kadar arka planda süresiz olarak çalışır.
Özet
Herkese açık oluşturucular | |
|---|---|
CommandScheduler()
|
|
Herkese açık yöntemler | |
|---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
Planlayıcıya bir komut ekler. |
void
|
addCommandFile(String cmdFilePath, List<String> extraArgs)
Belirtilen dosyadaki tüm komutları planlayıcıya ekler. |
void
|
await()
Planlayıcının çalışmaya başlamasını bekler. Bu kapsamda, geçerliyse eski TF'den devretme işleminin tamamlanmasını da bekler. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Çalıştırmanın yetkilendirilmesi gerekip gerekmediğini görmek için komut satırına dayalı bir yetki veren kullanıcı oluşturun. |
static
Map<ITestDevice, FreeDeviceState>
|
createReleaseMap(IInvocationContext context, Throwable e)
Cihaz durumunun haritasını oluşturarak cihazların uygun şekilde serbest bırakılmasını sağlayın. |
ISandbox
|
createSandbox()
Çağırma işleminin çalışmak için kullanacağı bir |
void
|
displayCommandQueue(PrintWriter printWriter)
Komut yürütme sırasının durumu hakkında ayrıntılı hata ayıklama bilgileri verir. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Mevcut komutların listesini gösterir. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Mevcut çağrıların listesini gösterir. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Tüm geçerli komutlar için belirtilen tüm |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Komutu, halihazırda ayrılmış cihazda doğrudan yürütür. |
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Halihazırda mevcut bir |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden komutu yürütür. |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, List<ITestDevice> reservedDevices, String[] args)
Komutu, halihazırda ayrılmış cihazlarda doğrudan yürütür. |
CommandFileWatcher
|
getCommandFileWatcher()
Bu planlayıcı için uygun CommandFileWatcher'ı alır. |
int
|
getExecutingCommandCount()
Yürütülüyor durumundaki komut sayısını döndürür. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Çağrı kimliğini belirterek bir çağrı hakkındaki bilgileri döndürür. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Çalıştırılan son çağırmanın hata kodunu döndürür. |
Throwable
|
getLastInvocationThrowable()
Çalıştırılan son çağırmadan |
int
|
getReadyCommandCount()
Kuyrukta hazır durumda olan komut 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, List<String> extraArgs)
|
void
|
removeAllCommands()
Tüm komutları planlayıcıdan kaldırır. |
void
|
run()
Bu iş parçacığının ana yürütme bloğu. |
void
|
setClearcutClient(ClearcutClient client)
İstemciyi koşum verilerini raporlayacak şekilde ayarlar. |
void
|
setMaxPollTime(long polling)
|
void
|
setPrintSchedulingWarning(boolean print)
|
boolean
|
shouldShutdownOnCmdfileError()
Komut hatalarında planlayıcıyı kapatmamız gerekiyorsa true değerini döndürür. |
void
|
shutdown(boolean notifyStop)
Komut planlayıcıyı düzgün bir şekilde kapatmaya çalışır. |
void
|
shutdownHard(boolean killAdb)
Komut planlayıcıyı zorla kapatmaya çalışır. |
void
|
shutdownHard()
Komut planlayıcıyı zorla kapatmaya çalışır. |
void
|
shutdownOnEmpty()
|
void
|
start()
Günlüğe kaydetme ayarları ve |
boolean
|
stopInvocation(ITestInvocation invocation)
Çalışan bir çağırmayı durdurur. |
boolean
|
stopInvocation(int invocationId, String cause)
Kimliğini belirterek çalışan bir çağırmayı durdurur. |
void
|
stopScheduling()
Yeni testlerin planlanmasını ve kabul edilmesini durdurur ancak Tradefed'i durdurmaz. |
Herkese açık oluşturucular
CommandScheduler
public CommandScheduler ()
CommandScheduler oluşturur.
Not: Kullanmadan önce start() işlevi çağrılmalıdır.
Herkese açık yöntemler
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
Planlayıcıya bir komut ekler.
Komut, temelde çalıştırılacak bir yapılandırmanın örneği ve ilişkili bağımsız değişkenleridir.
"--help" bağımsız değişkeni belirtilirse yapılandırmayla ilgili yardım metni stdout'a gönderilir. Aksi takdirde yapılandırma, çalıştırılmak üzere sıraya eklenir.
| Parametreler | |
|---|---|
args |
String: Yapılandırma bağımsız değişkenleri. |
| Döndürülenler | |
|---|---|
Pair<Boolean, Integer> |
Bir değer çifti. İlk değer, komut başarıyla eklendiyse Boole true değeridir. İ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ülür. |
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
addCommandFile
public void addCommandFile (String cmdFilePath,
List<String> extraArgs)Belirtilen dosyadaki tüm komutları planlayıcıya ekler.
| Parametreler | |
|---|---|
cmdFilePath |
String: komut dosyasının dosya sistemi yolu |
extraArgs |
List: Dosyadan ayrıştırılan her komuta eklenecek String bağımsız değişkenlerinin List. Boş olabilir ancak null olmamalıdır. |
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
await
public void await ()
Planlayıcının çalışmaya başlamasını bekler. Bu kapsamda, geçerliyse eski TF'den devretme işleminin tamamlanmasını da bekler.
| Verdiği hatalar | |
|---|---|
InterruptedException |
|
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Çalıştırmanın yetkilendirilmesi gerekip gerekmediğini görmek için komut satırına dayalı bir yetki veren kullanıcı oluşturun.
| Parametreler | |
|---|---|
args |
String |
| Döndürülenler | |
|---|---|
TradefedDelegator |
|
| Verdiği hatalar | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
createReleaseMap
public static Map<ITestDevice, FreeDeviceState> createReleaseMap (IInvocationContext context, Throwable e)
Cihaz durumunun haritasını oluşturarak cihazların uygun şekilde serbest bırakılmasını sağlayın.
| Parametreler | |
|---|---|
context |
IInvocationContext |
e |
Throwable |
| İadeler | |
|---|---|
Map<ITestDevice, FreeDeviceState> |
|
createSandbox
public ISandbox createSandbox ()
Çağırma işleminin çalışmak için kullanacağı bir ISandbox oluşturun.
| İadeler | |
|---|---|
ISandbox |
|
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Komut yürütme sırasının durumu hakkında ayrıntılı hata ayıklama bilgileri verir.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter,
String regex)Mevcut komutların listesini gösterir.
| Parametreler | |
|---|---|
printWriter |
PrintWriter: çıkışın yapılacağı PrintWriter. |
regex |
String: Komutların yazdırılması için eşleştirilmesi gereken normal ifade. Boşsa tüm komutlar yazdırılır. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Mevcut çağrıların listesini gösterir.
| Parametreler | |
|---|---|
printWriter |
PrintWriter: çıkışın yapılacağı PrintWriter. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter,
String regex)Tüm geçerli komutlar için belirtilen tüm Option değerleriyle komutun genişletilmiş XML dosyasını dökümünü alır.
| Parametreler | |
|---|---|
printWriter |
PrintWriter: durumu çıkış olarak verecek PrintWriter. |
regex |
String: XML dosyasının dökümünün alınması için komutların eşleştirilmesi gereken normal ifade. Boşsa tüm komutların dökümü alınır. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Komutu, halihazırda ayrılmış cihazda doğrudan yürütür.
| Parametreler | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
device |
ITestDevice: kullanılacak ITestDevice |
args |
String: komut bağımsız değişkenleri |
| Döndürülenler | |
|---|---|
long |
Planlanmış komutun çağrı kimliği. |
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
execCommand
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Halihazırda mevcut bir IInvocationContext kullanarak, komut kuyruğuna eklemeden doğrudan bir cihaz ayırır ve komut yürütür.
| Parametreler | |
|---|---|
context |
IInvocationContext: mevcut bir IInvocationContext. |
listener |
ICommandScheduler.IScheduledInvocationListener: bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args |
String: komut bağımsız değişkenleri |
| Döndürülenler | |
|---|---|
long |
|
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
NoDeviceException |
|
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden komutu yürütür.
| Parametreler | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args |
String: komut bağımsız değişkenleri |
| Döndürülenler | |
|---|---|
long |
Planlanmış komutun çağrı kimliği. |
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
NoDeviceException |
|
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, List<ITestDevice> reservedDevices, String[] args)
Komutu, halihazırda ayrılmış cihazlarda doğrudan yürütür.
| Parametreler | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
List: kullanılacak ERROR(/List |
args |
String: komut bağımsız değişkenleri |
| Döndürülenler | |
|---|---|
long |
Planlanmış komutun çağrı kimliği. |
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Bu planlayıcı için uygun CommandFileWatcher'ı alır.
| Döndürülenler | |
|---|---|
CommandFileWatcher |
|
getExecutingCommandCount
public int getExecutingCommandCount ()
Yürütülüyor durumundaki komut sayısını döndürür.
| İadeler | |
|---|---|
int |
|
getInvocationInfo
public String getInvocationInfo (int invocationId)
Çağrı kimliğini belirterek bir çağrı hakkındaki bilgileri döndürür.
| Parametreler | |
|---|---|
invocationId |
int: Çağırmanın izleme kimliği. |
| Döndürülenler | |
|---|---|
String |
Çağırma hakkında bilgi içeren bir String. |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Çalıştırılan son çağırmanın hata kodunu döndürür. Henüz hiçbir çağırma işlemi çalıştırılmadıysa 0 (hata yok) değerini döndürür.
| Döndürülenler | |
|---|---|
CommandRunner.ExitCode |
|
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Çalıştırılan son çağırmadan Throwable değerini döndürür.
Atılabilir bir öğe yoksa boş değer döndürür.
| Döndürülenler | |
|---|---|
Throwable |
|
getReadyCommandCount
public int getReadyCommandCount ()
Kuyrukta hazır durumda olan komut sayısını döndürür.
| İadeler | |
|---|---|
int |
|
getShutdownTimeout
public long getShutdownTimeout ()
| İadeler | |
|---|---|
long |
|
isDeviceInInvocationThread
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 |
|
isShuttingDown
public boolean isShuttingDown ()
| İadeler | |
|---|---|
boolean |
|
notifyFileChanged
public void notifyFileChanged (File cmdFile,
List<String> extraArgs)| Parametreler | |
|---|---|
cmdFile |
File |
extraArgs |
List |
removeAllCommands
public void removeAllCommands ()
Tüm komutları planlayıcıdan kaldırır.
run
public void run ()
Bu iş parçacığının ana yürütme bloğu.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
İstemciyi koşum verilerini raporlayacak şekilde ayarlar.
| Parametreler | |
|---|---|
client |
ClearcutClient |
setMaxPollTime
public void setMaxPollTime (long polling)
| Parametreler | |
|---|---|
polling |
long |
setPrintSchedulingWarning
public void setPrintSchedulingWarning (boolean print)
| Parametreler | |
|---|---|
print |
boolean |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Komut hatalarında planlayıcıyı kapatmamız gerekiyorsa true değerini döndürür.
| Döndürülenler | |
|---|---|
boolean |
|
shutdown
public void shutdown (boolean notifyStop)
Komut planlayıcıyı düzgün bir şekilde kapatmaya çalışır.
| Parametreler | |
|---|---|
notifyStop |
boolean: Doğruysa TF kapatma çağrılarını bildirir. |
shutdownHard
public void shutdownHard (boolean killAdb)
Komut planlayıcıyı zorla kapatmaya çalışır.
shutdown() parametresine benzer ancak devam eden çağırmaların daha hızlı tamamlanmasını "sağlamak" için isteğe bağlı olarak adb bağlantısını da sonlandırır.
| Parametreler | |
|---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
Komut planlayıcıyı zorla kapatmaya çalışır. shutdownHard(true) ile aynıdır.
shutdownOnEmpty
public void shutdownOnEmpty ()
shutdown() parametresine benzer ancak çıkmadan önce tüm komutların yürütülmesini bekler.
Komutlardan herhangi biri döngü modundaysa planlayıcının asla çıkmayacağını unutmayın.
start
public void start ()
Günlüğe kaydetme ayarları ve DeviceManager başlatma dahil olmak üzere planlayıcıyı başlatır.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Çalışan bir çağırmayı durdurur.
| Parametreler | |
|---|---|
invocation |
ITestInvocation |
| Döndürülenler | |
|---|---|
boolean |
Çağırma durdurulduysa doğru, aksi takdirde yanlış |
stopInvocation
public boolean stopInvocation (int invocationId,
String cause)Kimliğini belirterek çalışan bir çağırmayı durdurur.
| Parametreler | |
|---|---|
invocationId |
int: Çağırmanın izleme kimliği. |
cause |
String: Çağırmanın durdurulma nedeni. |
| Döndürülenler | |
|---|---|
boolean |
Çağırma durdurulduysa doğru, aksi takdirde yanlış |
stopScheduling
public void stopScheduling ()
Yeni testlerin planlanmasını ve kabul edilmesini durdurur ancak Tradefed'i durdurmaz. Bu, iki adımlı bir kapatma işlemi yapmayı amaçlar. İlk adımda, çalışan tüm testler boşaltılır, ardından Tradefed işlemi sonlandırılır.
Korunan yöntemler
cleanUp
protected void cleanUp ()
Çıkmadan önce günlükleri kapatır ve gerekli diğer temizlik işlemlerini yapar.
Birim testlerinin taklit edebilmesi için kullanıma sunulur.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
| Parametreler | |
|---|---|
args |
String |
| Döndürülenler | |
|---|---|
IConfiguration |
|
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
createInvocationContext
protected IInvocationContext createInvocationContext ()
| İadeler | |
|---|---|
IInvocationContext |
|
dryRunCommandReporting
protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)
Belirli bir komutun prova olup olmadığını belirler. Komut bir prova ise doğrulayın. Yapılandırmayla ilgili bir sorun varsa ConfigurationException hatası verilir.
| Parametreler | |
|---|---|
handler |
ICommandScheduler.IScheduledInvocationListener: Test doğrulama için etkinlikleri bildirmek üzere ERROR(/InvocationEventHandler). |
config |
IConfiguration |
| İadeler | |
|---|---|
void |
Komut prova ise doğru, aksi takdirde yanlış. |
| Verdiği hatalar | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
execCommand
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, List<ITestDevice> reservedDevices, String[] args)
| Parametreler | |
|---|---|
context |
IInvocationContext |
listener |
ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
List |
args |
String |
| Döndürülenler | |
|---|---|
long |
|
| Verdiği hatalar | |
|---|---|
ConfigurationException |
|
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
IConfigurationFactory öğesine referans alma için fabrika yöntemi
| İadeler | |
|---|---|
IConfigurationFactory |
kullanılacak IConfigurationFactory |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
| İadeler | |
|---|---|
DeviceManagementGrpcServer |
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
IDeviceManager öğesine referans alma için fabrika yöntemi
| İadeler | |
|---|---|
IDeviceManager |
kullanılacak IDeviceManager |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
ERROR(/IGlobalConfiguration) içinde belirtilen IKeyStoreFactory kullanılarak IKeyStoreClient getirilir. Tanımlanmamışsa null döndürülür.
| İadeler | |
|---|---|
IKeyStoreClient |
IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
| İadeler | |
|---|---|
TestInvocationManagementServer |
|
initLogging
protected void initLogging ()
ddmlib günlüğünü başlatır.
Birim testlerinin taklit edebilmesi için kullanıma sunulur.
isShutdown
protected boolean isShutdown ()
| İadeler | |
|---|---|
boolean |
|
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
| Parametreler | |
|---|---|
manager |
IDeviceManager |
shouldMarkReleased
protected boolean shouldMarkReleased ()
| İadeler | |
|---|---|
boolean |
|