ISandbox

public interface ISandbox

com.android.tradefed.sandbox.ISandbox


定義沙箱的介面,可用於執行叫用作業。

摘要

公用方法

abstract String createClasspath(File workingDir)

根據環境和 getTradefedSandboxEnvironment(IInvocationContext,IConfiguration,String[]) 傳回的工作目錄建立類別路徑。

abstract IConfiguration createThinLauncherConfig(String[] args, IKeyStoreClient keyStoreClient, IRunUtil runUtil, File globalConfig)

特殊模式與主要執行作業中斷連線:如果設定未顯示在父項中,我們會改用精簡啟動器,嘗試使用目前已知的資訊設定沙箱,並填入工作目錄,在版本目錄中完整建立設定。

default Map<String, List<String>> discoverTests(IInvocationContext context, IConfiguration configuration)

prepareEnvironment(IInvocationContext,IConfiguration,ITestInvocationListener) 的子步驟,用於探索是否已啟用 SandboxOptions.shouldUseTestDiscovery()

default Map<String, List<String>> discoverTests(IInvocationContext context, IConfiguration configuration, ITestLogger logger)
default IFolderBuildInfo fetchSandboxExtraArtifacts(IInvocationContext context, IConfiguration configuration, String[] args)

prepareEnvironment(IInvocationContext,IConfiguration,ITestInvocationListener) 的子步驟,用於擷取沙箱所需的其他檔案。

default File getTradefedSandboxEnvironment(IInvocationContext context, IConfiguration nonVersionedConfig, String[] args)

根據指令列引數傳回要使用的沙箱環境 TF。

default File getTradefedSandboxEnvironment(IInvocationContext context, IConfiguration nonVersionedConfig, ITestLogger logger, String[] args)
abstract Exception prepareEnvironment(IInvocationContext context, IConfiguration configuration, ITestInvocationListener listener)

準備沙箱環境,確保沙箱正常運作。

abstract CommandResult run(TestInformation info, IConfiguration configuration, ITestLogger logger)

使用設定的環境執行沙箱。

abstract void tearDown()

清理可能已變更的任何狀態、檔案或環境。

公用方法

createClasspath

public abstract String createClasspath (File workingDir)

根據環境和 getTradefedSandboxEnvironment(IInvocationContext,IConfiguration,String[]) 傳回的工作目錄建立類別路徑。

參數
workingDir File:沙箱的目前工作目錄。

傳回
String 要使用的類別路徑。

擲回
ConfigurationException

createThinLauncherConfig

public abstract IConfiguration createThinLauncherConfig (String[] args, 
                IKeyStoreClient keyStoreClient, 
                IRunUtil runUtil, 
                File globalConfig)

特殊模式與主要執行作業中斷連線:如果設定未顯示在父項中,我們會改用精簡啟動器,嘗試使用目前已知的資訊設定沙箱,並填入工作目錄,在版本目錄中完整建立設定。

參數
args String:原始指令列引數。

keyStoreClient IKeyStoreClient:目前用來建立設定的金鑰儲存區用戶端。

runUtil IRunUtil:目前要執行主機指令的 IRunUtil

globalConfig File:用於執行 TF 子程序的全域設定。

傳回
IConfiguration 指向 NON_VERSIONED 物件的 TF 設定 XML 的檔案。如果無法建立精簡啟動器設定,則傳回空值。

discoverTests

public Map<String, List<String>> discoverTests (IInvocationContext context, 
                IConfiguration configuration)

prepareEnvironment(IInvocationContext,IConfiguration,ITestInvocationListener) 的子步驟,用於探索是否已啟用 SandboxOptions.shouldUseTestDiscovery()

參數
context IInvocationContext:目前的叫用 IInvocationContext

configuration IConfiguration:要執行的指令。IConfiguration

傳回
Map<String, List<String>> 如果系統不支援或失敗,則為發現的測試地圖或空值。

discoverTests

public Map<String, List<String>> discoverTests (IInvocationContext context, 
                IConfiguration configuration, 
                ITestLogger logger)

參數
context IInvocationContext

configuration IConfiguration

logger ITestLogger

傳回
Map<String, List<String>>

fetchSandboxExtraArtifacts

public IFolderBuildInfo fetchSandboxExtraArtifacts (IInvocationContext context, 
                IConfiguration configuration, 
                String[] args)

prepareEnvironment(IInvocationContext,IConfiguration,ITestInvocationListener) 的子步驟,用於擷取沙箱所需的其他檔案。

參數
context IInvocationContext:目前的叫用 IInvocationContext

configuration IConfiguration:要執行的指令。IConfiguration

args String:指令列引數。

傳回
IFolderBuildInfo 額外沙箱檔案的擷取建構作業。

擲回
com.android.tradefed.build.BuildRetrievalError
com.android.tradefed.config.ConfigurationException
java.io.IOException
BuildRetrievalError
ConfigurationException
IOException

getTradefedSandboxEnvironment

public File getTradefedSandboxEnvironment (IInvocationContext context, 
                IConfiguration nonVersionedConfig, 
                String[] args)

根據指令列引數傳回要使用的沙箱環境 TF。

參數
context IInvocationContext:父項的 IInvocationContext

nonVersionedConfig IConfiguration:代表非版本化物件的 IConfiguration

args String:指令列引數。

傳回
File 包含 TF 沙箱環境 JAR 的 File 目錄。

擲回
Exception

getTradefedSandboxEnvironment

public File getTradefedSandboxEnvironment (IInvocationContext context, 
                IConfiguration nonVersionedConfig, 
                ITestLogger logger, 
                String[] args)

參數
context IInvocationContext

nonVersionedConfig IConfiguration

logger ITestLogger

args String

傳回
File

擲回
Exception

prepareEnvironment

public abstract Exception prepareEnvironment (IInvocationContext context, 
                IConfiguration configuration, 
                ITestInvocationListener listener)

準備沙箱環境,確保沙箱正常運作。

參數
context IInvocationContext:目前的叫用 IInvocationContext

configuration IConfiguration:要執行的指令。IConfiguration

listener ITestInvocationListener:目前的叫用 ITestInvocationListener,最終結果應透過管道傳送。

傳回
Exception 包含失敗的 Exception。如果成功,則為 Null。

得分

public abstract CommandResult run (TestInformation info, 
                IConfiguration configuration, 
                ITestLogger logger)

使用設定的環境執行沙箱。

參數
info TestInformationTestInformation,說明叫用

configuration IConfiguration:要執行的指令。IConfiguration

logger ITestLogger:可記錄檔案的 ITestLogger

傳回
CommandResult 顯示沙箱執行狀態和記錄的 CommandResult

擲回
Throwable

tearDown

public abstract void tearDown ()

清理可能已變更的任何狀態、檔案或環境。