沙箱

public interface ISandbox

com.android.tradefed.sandbox.ISandbox


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

摘要

公用方法

abstract String createClasspath(File workingDir)

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

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

特殊模式與主要執行作業中斷連線:如果設定未顯示在 我們會改回使用精簡的啟動器,嘗試設定沙箱 並輸入工作目錄,即可直接在 版本化目錄

default discoverTests(IInvocationContext context, IConfiguration configuration)

prepareEnvironment(com.android.tradefed.invoker.IInvocationContext, com.android.tradefed.config.IConfiguration, com.android.tradefed.result.ITestInvocationListener) 的子步驟,會在 SandboxOptions.shouldUseTestDiscovery() 啟用的情況下探索測試。

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

prepareEnvironment(com.android.tradefed.invoker.IInvocationContext, com.android.tradefed.config.IConfiguration, com.android.tradefed.result.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()

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

公用方法

建立類別路徑

public abstract String createClasspath (File workingDir)

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

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

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

擲回
ConfigurationException

createThinLauncherConfig

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

特殊模式與主要執行作業中斷連線:如果設定未顯示在 我們會改回使用精簡的啟動器,嘗試設定沙箱 並輸入工作目錄,即可直接在 版本化目錄

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

keyStoreClient IKeyStoreClient:用於建立設定目前的 KeyStore 用戶端。

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

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

傳回
IConfiguration 指向 TF 設定 XML 的檔案 (適用於 NON_VERSIONED 物件)。退貨程序 如果無法建立精簡啟動器設定,則為空值。

DiscoveryTests

public  discoverTests (IInvocationContext context, 
                IConfiguration configuration)

prepareEnvironment(com.android.tradefed.invoker.IInvocationContext, com.android.tradefed.config.IConfiguration, com.android.tradefed.result.ITestInvocationListener) 的子步驟,會在 SandboxOptions.shouldUseTestDiscovery() 啟用的情況下探索測試。

參數
context IInvocationContext:目前的叫用 IInvocationContext

configuration IConfiguration:用於執行的指令的 IConfiguration

傳回
發現的測試對應;如果不支援或失敗,則對應空值。

DiscoveryTests

public  discoverTests (IInvocationContext context, 
                IConfiguration configuration, 
                ITestLogger logger)

參數
context IInvocationContext

configuration IConfiguration

logger ITestLogger

傳回

擷取沙箱額外構件

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

prepareEnvironment(com.android.tradefed.invoker.IInvocationContext, com.android.tradefed.config.IConfiguration, com.android.tradefed.result.ITestInvocationListener) 的子步驟,可擷取沙箱所需的額外檔案。

參數
context IInvocationContext:目前的叫用 IInvocationContext

configuration IConfiguration:用於執行的指令的 IConfiguration

args String:指令列引數。

傳回
IFolderBuildInfo 額外沙箱檔案的擷取版本。

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

getTradefedSandboxEnvironment

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

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

參數
context IInvocationContext:父項的 IInvocationContext

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

args String:指令列引數。

傳回
File 包含 TF 沙箱環境 Jar 的 ERROR(/File) 目錄。

getTradefedSandboxEnvironment

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

參數
context IInvocationContext

nonVersionedConfig IConfiguration

logger ITestLogger

args String

傳回
File

prepare 環境

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

準備讓沙箱正常執行環境。

參數
context IInvocationContext:目前的叫用 IInvocationContext

configuration IConfiguration:用於執行的指令的 IConfiguration

listener ITestInvocationListener:目前叫用 ITestInvocationListener,也就是最終結果 。

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

得分

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

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

參數
info TestInformation:說明叫用的 TestInformation

configuration IConfiguration:用於執行的指令的 IConfiguration

logger ITestLogger:可用來記錄檔案的 ITestLogger

傳回
CommandResult 具有沙箱執行作業和記錄狀態的 CommandResult

TearDown

public abstract void tearDown ()

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