ShardMainResultForwarder

public class ShardMainResultForwarder
extends ResultForwarder implements ILogSaverListener

java.lang.Object
   ↳ com.android.tradefed.result.ResultForwarder
     ↳ com.android.tradefed.invoker.ShardMainResultForwarder


Um ResultForwarder que combina os resultados de invocações de teste fragmentadas. Ele só informa a conclusão da invocação aos listeners quando todas as invocações fragmentadas são concluídas.

Essa classe não é thread-safe. Espera-se que os clientes bloqueiem essa classe ao enviar resultados de testes para evitar que os callbacks de invocação sejam chamados fora de ordem.

Resumo

Construtores públicos

ShardMainResultForwarder(List<ITestInvocationListener> listeners, int expectedShards)

Crie um ShardMainResultForwarder.

Métodos públicos

List<ITestInvocationListener> getListeners()

Receba a lista de listeners.

void invocationEnded(long elapsedTime)

Informa que a invocação foi encerrada, seja com sucesso ou devido a alguma condição de erro.

void invocationEnded(long elapsedTime, IInvocationContext context)

Callback mais detalhado para diferenciar qual fragmento foi concluído.

void invocationFailed(FailureDescription failure)

Informa uma invocação incompleta devido a alguma condição de erro.

void invocationFailed(Throwable cause)

Informa uma invocação incompleta devido a alguma condição de erro.

void invocationSkipped(SkipReason reason)

Informa que uma invocação foi ignorada.

void invocationStarted(IInvocationContext context)

Informa o início da invocação do teste.

void logAssociation(String dataName, LogFile logFile)

Em alguns casos, o registro precisa estar fortemente associado a um caso de teste, mas não é possível fazer isso no callback direto do testLogSaved(String,LogDataType,InputStreamSource,LogFile).

void testLogForward(String dataName, LogDataType dataType, InputStreamSource dataStream)

Encaminhe apenas o testLog em vez de salvar o registro primeiro.

void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

Chamado quando o registro de teste é salvo.

Construtores públicos

ShardMainResultForwarder

public ShardMainResultForwarder (List<ITestInvocationListener> listeners, 
                int expectedShards)

Crie um ShardMainResultForwarder.

Parâmetros
listeners List: a lista de ITestInvocationListener para encaminhar os resultados quando todos os fragmentos forem concluídos

expectedShards int: o número de fragmentos

Métodos públicos

getListeners

public List<ITestInvocationListener> getListeners ()

Receba a lista de listeners.

Retorna
List<ITestInvocationListener> A lista de ITestInvocationListeners.

invocationEnded

public void invocationEnded (long elapsedTime)

Informa que a invocação foi encerrada, seja com sucesso ou devido a alguma condição de erro.

Será chamado automaticamente pela estrutura TradeFederation.

Parâmetros
elapsedTime long: o tempo decorrido da invocação em ms

invocationEnded

public void invocationEnded (long elapsedTime, 
                IInvocationContext context)

Callback mais detalhado para diferenciar qual fragmento foi concluído.

Parâmetros
elapsedTime long

context IInvocationContext

invocationFailed

public void invocationFailed (FailureDescription failure)

Informa uma invocação incompleta devido a alguma condição de erro.

Será chamado automaticamente pela estrutura TradeFederation.

Parâmetros
failure FailureDescription: o FailureDescription que descreve a causa da falha

invocationFailed

public void invocationFailed (Throwable cause)

Informa uma invocação incompleta devido a alguma condição de erro.

Será chamado automaticamente pela estrutura TradeFederation.

Parâmetros
cause Throwable: a causa Throwable da falha.

invocationSkipped

public void invocationSkipped (SkipReason reason)

Informa que uma invocação foi ignorada.

Parâmetros
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

Informa o início da invocação do teste.

Será chamado automaticamente pela estrutura TradeFederation. Os repórteres precisam substituir esse método para oferecer suporte a relatórios de vários dispositivos.

Parâmetros
context IInvocationContext: informações sobre a invocação

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

Em alguns casos, o registro precisa estar fortemente associado a um caso de teste, mas não é possível fazer isso no callback direto do testLogSaved(String,LogDataType,InputStreamSource,LogFile). Assim, esse callback permite fornecer uma associação forte de forma explícita.

Parâmetros
dataName String: o nome dos dados

logFile LogFile: o LogFile registrado anteriormente e que precisa ser associado ao caso de teste.

testLogForward

public void testLogForward (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Encaminhe apenas o testLog em vez de salvar o registro primeiro.

Parâmetros
dataName String

dataType LogDataType

dataStream InputStreamSource

testLogSaved

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

Chamado quando o registro de teste é salvo.

Deve ser usado no lugar de ITestInvocationListener.testLog(String,LogDataType,InputStreamSource).

Parâmetros
dataName String: um nome descritivo String dos dados, por exemplo, "device_logcat". Observação: dataName pode não ser exclusivo por invocação. Ou seja, os implementadores precisam ser capazes de processar várias chamadas com o mesmo dataName.

dataType LogDataType: o LogDataType dos dados

dataStream InputStreamSource: o InputStreamSource dos dados. Os implementadores precisam chamar createInputStream para começar a ler os dados e fechar o InputStream resultante quando concluído.

logFile LogFile: o LogFile que contém os metadados do arquivo salvo.