TradefedSandbox

public class TradefedSandbox
extends Object implements ISandbox

java.lang.Object
   ↳ com.android.tradefed.sandbox.TradefedSandbox


Sandbox-Container, in dem ein Trade Federation-Aufruf ausgeführt werden kann. TODO: Allow Options to be passed to the sandbox.

Zusammenfassung

Konstanten

String EXTRA_TARGET_LAB

String GENERAL_TESTS_ZIP

String SANDBOX_ENABLED

Öffentliche Konstruktoren

TradefedSandbox()

Öffentliche Methoden

String createClasspath(File workingDir)

Erstellen Sie einen Klassenpfad basierend auf der Umgebung und dem Arbeitsverzeichnis, die von ISandbox.getTradefedSandboxEnvironment(com.android.tradefed.invoker.IInvocationContext, com.android.tradefed.config.IConfiguration, String[]) zurückgegeben werden.

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

Sondermodus – Verbindung zum Hauptlaufwerk getrennt: Wenn eine Konfiguration im übergeordneten Element nicht vorhanden ist, wird auf den Thin Launcher zurückgegriffen. Dort wird versucht, die Sandbox mit den aktuell bekannten Informationen einzurichten und das Arbeitsverzeichnis zu füllen, um die Konfiguration vollständig im versionierten Verzeichnis zu erstellen.

File getTradefedSandboxEnvironment(IInvocationContext context, IConfiguration nonVersionedConfig, ITestLogger logger, String[] args)
static matchSandboxExtraBuildTargetByConfigName(String configName)

Gleichen Sie die zusätzlichen Build-Ziele aus der Testkonfiguration mit den zusätzlichen Build-Zielen aus der Sandbox ab.

Exception prepareEnvironment(IInvocationContext context, IConfiguration config, ITestInvocationListener listener)

Bereiten Sie die Umgebung vor, damit die Sandbox ordnungsgemäß ausgeführt werden kann.

CommandResult run(TestInformation info, IConfiguration config, ITestLogger logger)

Führen Sie die Sandbox mit der festgelegten Umgebung aus.

void tearDown()

Bereinigen Sie alle Status, Dateien oder Umgebungen, die möglicherweise geändert wurden.

Geschützte Methoden

File dumpGlobalConfig(IConfiguration config, exclusionPatterns)

Globale Konfiguration ausgeben, die aus einigen Objekten gefiltert wurde.

String getJava()
Exception prepareConfiguration(IInvocationContext context, IConfiguration config, ITestInvocationListener listener)

Bereiten Sie die IConfiguration vor, die an den untergeordneten Prozess übergeben wird und die Containerausführung steuert.

File prepareContext(IInvocationContext context, IConfiguration config)

Bereiten Sie die IInvocationContext vor und serialisieren Sie sie.

Konstanten

EXTRA_TARGET_LAB

public static final String EXTRA_TARGET_LAB

Constant Value: "lab"

GENERAL_TESTS_ZIP

public static final String GENERAL_TESTS_ZIP

Konstanter Wert: "general-tests.zip"

SANDBOX_ENABLED

public static final String SANDBOX_ENABLED

Konstanter Wert: "SANDBOX_ENABLED"

Öffentliche Konstruktoren

TradefedSandbox

public TradefedSandbox ()

Öffentliche Methoden

createClasspath

public String createClasspath (File workingDir)

Erstellen Sie einen Klassenpfad basierend auf der Umgebung und dem Arbeitsverzeichnis, die von ISandbox.getTradefedSandboxEnvironment(com.android.tradefed.invoker.IInvocationContext, com.android.tradefed.config.IConfiguration, String[]) zurückgegeben werden.

Parameter
workingDir File: Das aktuelle Arbeitsverzeichnis für die Sandbox.

Returns
String Der zu verwendende Klassenpfad.

Ausgabe
ConfigurationException

createThinLauncherConfig

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

Sondermodus – Verbindung zum Hauptlaufwerk getrennt: Wenn eine Konfiguration im übergeordneten Element nicht vorhanden ist, wird auf den Thin Launcher zurückgegriffen. Dort wird versucht, die Sandbox mit den aktuell bekannten Informationen einzurichten und das Arbeitsverzeichnis zu füllen, um die Konfiguration vollständig im versionierten Verzeichnis zu erstellen.

Parameter
args String: Die ursprünglichen Befehlszeilenargumente.

keyStoreClient IKeyStoreClient: Der aktuelle Keystore-Client, der zum Erstellen von Konfigurationen verwendet werden soll.

runUtil IRunUtil: die aktuelle IRunUtil zum Ausführen von Hostbefehlen.

globalConfig File: Die globale Konfiguration, die zum Ausführen von Unterprozessen von TF verwendet werden soll.

Returns
IConfiguration Eine Datei, die auf die Konfigurations-XML von TF für Objekte vom Typ NON_VERSIONED verweist. Gibt „null“ zurück, wenn keine Thin Launcher-Konfiguration erstellt werden konnte.

getTradefedSandboxEnvironment

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

Parameter
context IInvocationContext

nonVersionedConfig IConfiguration

logger ITestLogger

args String

Returns
File

matchSandboxExtraBuildTargetByConfigName

public static  matchSandboxExtraBuildTargetByConfigName (String configName)

Gleichen Sie die zusätzlichen Build-Ziele aus der Testkonfiguration mit den zusätzlichen Build-Zielen aus der Sandbox ab.

Parameter
configName String

Returns

prepareEnvironment

public Exception prepareEnvironment (IInvocationContext context, 
                IConfiguration config, 
                ITestInvocationListener listener)

Bereiten Sie die Umgebung vor, damit die Sandbox ordnungsgemäß ausgeführt werden kann.

Parameter
context IInvocationContext: der aktuelle Aufruf IInvocationContext.

config IConfiguration: die IConfiguration für den auszuführenden Befehl.

listener ITestInvocationListener: Der aktuelle Aufruf ITestInvocationListener, in den endgültige Ergebnisse weitergeleitet werden sollen.

Returns
Exception Ein Exception mit dem Fehler oder Null, wenn der Vorgang erfolgreich war.

Homerun

public CommandResult run (TestInformation info, 
                IConfiguration config, 
                ITestLogger logger)

Führen Sie die Sandbox mit der festgelegten Umgebung aus.

Parameter
info TestInformation: der TestInformation, der den Aufruf beschreibt

config IConfiguration: die IConfiguration für den auszuführenden Befehl.

logger ITestLogger: ein ITestLogger, in dem wir Logdateien speichern können.

Returns
CommandResult CommandResult mit dem Status des Sandbox-Laufs und den Logs.

tearDown

public void tearDown ()

Bereinigen Sie alle Status, Dateien oder Umgebungen, die möglicherweise geändert wurden.

Geschützte Methoden

dumpGlobalConfig

protected File dumpGlobalConfig (IConfiguration config, 
                 exclusionPatterns)

Globale Konfiguration ausgeben, die aus einigen Objekten gefiltert wurde.

Parameter
config IConfiguration

exclusionPatterns

Returns
File

Ausgabe
ConfigurationException

getJava

protected String getJava ()

Returns
String

prepareConfiguration

protected Exception prepareConfiguration (IInvocationContext context, 
                IConfiguration config, 
                ITestInvocationListener listener)

Bereiten Sie die IConfiguration vor, die an den untergeordneten Prozess übergeben wird und die Containerausführung steuert.

Parameter
context IInvocationContext: Die aktuelle IInvocationContext.

config IConfiguration: die vorzubereitende IConfiguration.

listener ITestInvocationListener: Der aktuelle Aufruf ITestInvocationListener.

Returns
Exception eine Ausnahme, wenn etwas schiefgegangen ist, andernfalls „null“.

prepareContext

protected File prepareContext (IInvocationContext context, 
                IConfiguration config)

Bereiten Sie die IInvocationContext vor und serialisieren Sie sie.

Parameter
context IInvocationContext: die vorzubereitende IInvocationContext.

config IConfiguration: Die IConfiguration der Sandbox.

Returns
File die serialisierte IInvocationContext.

Ausgabe
IOException