Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは Cloud Translation API によって翻訳されました。
Switch to English

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


使用可能なすべてのデバイスでTradeFederationコマンドを実行するためのスケジューラー。

実行時間の合計実行カウントに基づいて、実行するコマンドに優先順位を付けようとします。たとえば、頻繁に実行されないコマンドや高速に実行されるコマンドは、長時間実行されるコマンドよりも優先されます。

シャットダウンするまでバックグラウンドで永久に実行します。

概要

ネストされたクラス

enum CommandScheduler.HostState

ホストのさまざまなステータスの列挙

パブリックコンストラクター

CommandScheduler ()

CommandScheduler作成しCommandScheduler

パブリックメソッド

boolean addCommand (String[] args)

コマンドをスケジューラに追加します。

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

指定されたファイルのすべてのコマンドをスケジューラに追加します

void await ()

スケジューラーが実行を開始するのを待ちます(該当する場合、古いTFからのハンドオーバーが完了するのを待つことを含む)。

static TradefedDelegator checkDelegation (String[] args)

コマンドラインに基づいてデリゲートを作成し、実行を委任する必要があるかどうかを確認します。

void completeHandover ()

開始されたハンドオーバシーケンスが完全に完了し、デフォルトポートでリモートマネージャを再初期化する必要があることをコマンドスケジューラに通知します。

static createReleaseMap (IInvocationContext context, Throwable e)

デバイスの状態のマップを作成して、適切に解放できるようにします。

ISandbox createSandbox ()

呼び出しが実行に使用するISandboxを作成します。

void displayCommandQueue (PrintWriter printWriter)

コマンド実行キューの状態に関する詳細なデバッグ情報を出力します。

void displayCommandsInfo (PrintWriter printWriter, String regex)

現在のコマンドのリストを出力します。

void displayInvocationsInfo (PrintWriter printWriter)

現在の呼び出しのリストを表示します。

void dumpCommandsXml (PrintWriter printWriter, String regex)

現在のすべてのコマンドに指定されたすべてのOption値を使用して、コマンドの拡張xmlファイルをダンプします。

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

デバイスを直接割り当て、既存のIInvocationContextを使用してコマンドキューに追加せずにコマンドを実行します。

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

デバイスを直接割り当てて、コマンドキューに追加せずにコマンドを実行します。

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

すでに割り当てられているデバイスでコマンドを直接実行します。

CommandFileWatcher getCommandFileWatcher ()

このスケジューラーに適切なCommandFileWatcherを取得します

int getExecutingCommandCount ()

実行状態のコマンドの数を返します。

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

呼び出しIDを指定する呼び出しbuに関する情報を返します。

CommandRunner.ExitCode getLastInvocationExitCode ()

最後に実行された呼び出しのエラーコードを返します。

Throwable getLastInvocationThrowable ()

実行された最後の呼び出しからThrowableを返します。

int getReadyCommandCount ()

キュー内の準備完了状態のコマンドの数を返します。

long getShutdownTimeout ()
void handoverInitiationComplete ()

使用中のデバイスとコマンドの最初のハンドオーバー交換が完了し、スケジューリング操作を開始できることをコマンドスケジューラに通知します。

boolean handoverShutdown (int handoverPort)

shutdown()を開始し、この同じホスト上の別のトレードされたプロセスにハンドオーバーします。

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

スケジューラからすべてのコマンドを削除します

void run ()

このスレッドのメイン実行ブロック。

void setClearcutClient (ClearcutClient client)

ハーネスデータを報告するようにクライアントを設定する

void setLastInvocationExitCode ( CommandRunner.ExitCode code, Throwable throwable)

ヘルパーメソッドは、 CommandRunnerコンテキスト内で実行するときに、終了エラーコードと返されるスタックトレースを設定します。

boolean shouldShutdownOnCmdfileError ()

コマンドエラーでスケジューラをシャットダウンする必要がある場合はtrueを返します

void shutdown ()

コマンドスケジューラを適切にシャットダウンしてみます。

void shutdownHard ()

コマンドスケジューラを強制的にシャットダウンしてみます。

void shutdownOnEmpty ()

shutdown()似ていますが、終了する前にすべてのコマンドが実行されるのを待ちます。

void start ()

ロギングの設定、 DeviceManager初期DeviceManagerなどを含むスケジューラを起動します

boolean stopInvocation (int invocationId, String cause)

IDを指定して、実行中の呼び出しを停止します。

boolean stopInvocation ( ITestInvocation invocation)

実行中の呼び出しを停止します。

保護されたメソッド

void cleanUp ()

ログを閉じ、終了する前にその他の必要なクリーンアップを実行します。

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

IConfigurationFactoryへの参照を取得するためのファクトリメソッド

IDeviceManager getDeviceManager ()

IDeviceManagerへの参照を取得するためのファクトリメソッド

IKeyStoreClient getKeyStoreClient ()

IKeyStoreFactory宣言されたIKeyStoreClientを使用してIKeyStoreFactoryIGlobalConfigurationか、何も定義されていない場合はnullをIGlobalConfigurationます。

void initLogging ()

ddmlibログを初期化します。

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

すべての呼び出しスレッドが完了するまで待ちます。

パブリックコンストラクター

CommandScheduler

public CommandScheduler ()

CommandScheduler作成しCommandScheduler

注:startは使用前に呼び出す必要があります。

パブリックメソッド

addCommand

public boolean addCommand (String[] args)

コマンドをスケジューラに追加します。

コマンドは基本的に、実行する構成とそれに関連する引数のインスタンスです。

「--help」引数が指定されている場合、構成のヘルプテキストがstdoutに出力されます。それ以外の場合、構成は実行するキューに追加されます。

パラメーター
args String :構成引数。

戻り値
boolean コマンドが正常に追加された場合はtrue

投げる
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

指定されたファイルのすべてのコマンドをスケジューラに追加します

パラメーター
cmdFilePath String :コマンドファイルのファイルシステムパス

extraArgs :ファイルから解析された各コマンドに追加するString引数のERROR(/List) 。空にすることもできますが、nullにすることはできません。

投げる
ConfigurationException

待つ

public void await ()

スケジューラーが実行を開始するのを待ちます(該当する場合、古いTFからのハンドオーバーが完了するのを待つことを含む)。

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

コマンドラインに基づいてデリゲートを作成し、実行を委任する必要があるかどうかを確認します。

パラメーター
args String

戻り値
TradefedDelegator

投げる
ConfigurationException

completeHandover

public void completeHandover ()

開始されたハンドオーバシーケンスが完全に完了し、デフォルトポートでリモートマネージャを再初期化する必要があることをコマンドスケジューラに通知します。

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

デバイスの状態のマップを作成して、適切に解放できるようにします。

パラメーター
context IInvocationContext

e Throwable

戻り値

createSandbox

public ISandbox createSandbox ()

呼び出しが実行に使用するISandboxを作成します。

戻り値
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

コマンド実行キューの状態に関する詳細なデバッグ情報を出力します。

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

現在のコマンドのリストを出力します。

パラメーター
printWriter PrintWriter :出力先のERROR(/PrintWriter)

regex String :コマンドを表示するために一致させる必要がある正規表現。 nullの場合、すべてのコマンドが出力されます。

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

現在の呼び出しのリストを表示します。

パラメーター
printWriter PrintWriter :出力先のERROR(/PrintWriter)

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

現在のすべてのコマンドに指定されたすべてのOption値を使用して、コマンドの拡張xmlファイルをダンプします。

パラメーター
printWriter PrintWriter :ステータスを出力するERROR(/PrintWriter)

regex String :xmlファイルをダンプするためにコマンドが一致する必要がある正規表現。 nullの場合、すべてのコマンドがダンプされます。

execCommand

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

デバイスを直接割り当て、既存のIInvocationContextを使用してコマンドキューに追加せずにコマンドを実行します。

パラメーター
context IInvocationContext :既存のIInvocationContext

listener ICommandScheduler.IScheduledInvocationListener :通知されるICommandScheduler.IScheduledInvocationListener

args String :コマンド引数

投げる
ConfigurationException
NoDeviceException

execCommand

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

デバイスを直接割り当てて、コマンドキューに追加せずにコマンドを実行します。

パラメーター
listener ICommandScheduler.IScheduledInvocationListener :通知されるICommandScheduler.IScheduledInvocationListener

args String :コマンド引数

投げる
ConfigurationException
NoDeviceException

execCommand

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

すでに割り当てられているデバイスでコマンドを直接実行します。

パラメーター
listener ICommandScheduler.IScheduledInvocationListener :通知されるICommandScheduler.IScheduledInvocationListener

device ITestDevice :使用するITestDevice

args String :コマンド引数

投げる
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

このスケジューラーに適切なCommandFileWatcherを取得します

戻り値
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

実行状態のコマンドの数を返します。

戻り値
int

getHostState

public CommandScheduler.HostState getHostState ()

戻り値
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

呼び出しIDを指定する呼び出しbuに関する情報を返します。

パラメーター
invocationId int :呼び出しの追跡ID。

戻り値
String 呼び出しに関する情報を含むString

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

最後に実行された呼び出しのエラーコードを返します。呼び出しがまだ実行されていない場合は、0(エラーなし)を返します。

戻り値
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

実行された最後の呼び出しからThrowableを返します。スロー可能なオブジェクトがない場合はnullを返します。

戻り値
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

キュー内の準備状態のコマンドの数を返します。

戻り値
int

getShutdownTimeout

public long getShutdownTimeout ()

戻り値
long

handoverInitiationComplete

public void handoverInitiationComplete ()

使用中のデバイスとコマンドの最初のハンドオーバー交換が完了し、スケジューリング操作を開始できることをコマンドスケジューラに通知します。

ハンドオーバーシャ​​ットダウン

public boolean handoverShutdown (int handoverPort)

shutdown()を開始し、この同じホスト上の別のトレードされたプロセスにハンドオーバーします。

スケジューラーは、解放されたデバイスが利用可能になると、解放されたデバイスのそのポートをリッスンしているリモートのトレードプロセスに通知します。

パラメーター
handoverPort int

戻り値
boolean ハンドオーバーの開始が成功した場合はtrue 、それ以外の場合はfalse

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

パラメーター
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

スケジューラからすべてのコマンドを削除します

走る

public void run ()

このスレッドのメイン実行ブロック。

setClearcutClient

public void setClearcutClient (ClearcutClient client)

ハーネスデータを報告するようにクライアントを設定する

パラメーター
client ClearcutClient

setLastInvocationExitCode

public void setLastInvocationExitCode (CommandRunner.ExitCode code, 
                Throwable throwable)

ヘルパーメソッドは、 CommandRunnerコンテキスト内で実行するときに、終了エラーコードと返されるスタックトレースを設定します。

パラメーター
code CommandRunner.ExitCode

throwable Throwable

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

コマンドエラーでスケジューラをシャットダウンする必要がある場合はtrueを返します

戻り値
boolean

シャットダウン

public void shutdown ()

コマンドスケジューラを適切にシャットダウンしてみます。

テストを待機しているコマンドをクリアし、進行中のすべての呼び出しが正常にシャットダウンするように要求します。

シャットダウンが呼び出された後、スケジューラのメインループは、進行中のすべての呼び出しが完了するのを待ってから、完全に終了します。

shutdownHard

public void shutdownHard ()

コマンドスケジューラを強制的にシャットダウンしてみます。

shutdown()似ていますが、進行中の呼び出しを「刺激」してより速く完了する試みで、adb接続を強制的に強制終了します。

shutdownOnEmpty

public void shutdownOnEmpty ()

shutdown()似ていますが、終了する前にすべてのコマンドが実行されるのを待ちます。

コマンドがループモードの場合、スケジューラは終了しません。

開始

public void start ()

ロギングの設定、 DeviceManager初期DeviceManagerなどを含むスケジューラを起動します

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

IDを指定して、実行中の呼び出しを停止します。

パラメーター
invocationId int :呼び出しの追跡ID。

cause String :呼び出しを停止した原因。

戻り値
boolean 呼び出しが停止した場合はtrue、それ以外の場合はfalse

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

実行中の呼び出しを停止します。

パラメーター
invocation ITestInvocation

戻り値
boolean 呼び出しが停止した場合はtrue、それ以外の場合はfalse

保護されたメソッド

掃除

protected void cleanUp ()

ログを閉じ、終了する前にその他の必要なクリーンアップを実行します。

ユニットテストがモックできるように公開されています。

createConfiguration

protected IConfiguration createConfiguration (String[] args)

パラメーター
args String

戻り値
IConfiguration

投げる
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

戻り値
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

IConfigurationFactoryへの参照を取得するためのファクトリメソッド

戻り値
IConfigurationFactory 使用するIConfigurationFactory

getDeviceManager

protected IDeviceManager getDeviceManager ()

IDeviceManagerへの参照を取得するためのファクトリメソッド

戻り値
IDeviceManager 使用するIDeviceManager

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

IKeyStoreFactory宣言されたIKeyStoreClientを使用してIKeyStoreFactoryIGlobalConfigurationか、何も定義されていない場合はnullをIGlobalConfigurationます。

戻り値
IKeyStoreClient IKeyStoreClient

initLogging

protected void initLogging ()

ddmlibログを初期化します。

ユニットテストがモックできるように公開されています。

isShutdown

protected boolean isShutdown ()

戻り値
boolean

isShuttingDown

protected boolean isShuttingDown ()

戻り値
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

パラメーター
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

すべての呼び出しスレッドが完了するまで待ちます。