Class ConsoleTestCallback
- java.lang.Object
-
- de.gebit.integrity.runner.callbacks.TestRunnerCallback
-
- de.gebit.integrity.runner.callbacks.AbstractTestRunnerCallback
-
- de.gebit.integrity.runner.callbacks.console.ConsoleTestCallback
-
public class ConsoleTestCallback extends AbstractTestRunnerCallback
A simple callback which prints out test progression information onto the console.- Author:
- Rene Schneider - initial API and implementation
-
-
Field Summary
Fields Modifier and Type Field Description protected int
callCount
The number of calls executed.protected ClassLoader
classLoader
The classloader to use.protected ParameterResolver
parameterResolver
The parameter resolver to use.protected long
startTime
Test execution start time.protected int
suiteCount
The number of suites executed.protected Map<Suite,Integer>
suiteNumbers
Map remembering suite numbers.protected int
tableTestRowCount
Counting table test rows.protected int
testCount
The number of tests executed.protected TestFormatter
testFormatter
The test formatter to use.protected VariableManager
variableManager
The variable manager to use.-
Fields inherited from class de.gebit.integrity.runner.callbacks.AbstractTestRunnerCallback
valueConverter
-
Fields inherited from class de.gebit.integrity.runner.callbacks.TestRunnerCallback
dryRun, forkInExecution, server
-
-
Constructor Summary
Constructors Constructor Description ConsoleTestCallback()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
displayExtendedResults(List<ExtendedResultFixture.ExtendedResult> someExtendedResults)
Displays the provided extended results on the console.protected void
displayTestSubResult(TestSubResult aSubResult)
Displays a test sub-result.void
onAbortExecution(String anAbortExecutionMessage, String anAbortExecutionStackTrace)
Called when test execution is aborted prematurely due to anAbortExecutionException
- either thrown locally or by a fork.void
onCallFinish(Call aCall, CallResult aResult)
Called right after a call was executed.void
onCallStart(Call aCall)
Called before a call is being executed.void
onConstantDefinition(ConstantEntity aDefinition, SuiteDefinition aSuite, Object aValue, boolean aParameterizedFlag)
Called when a constant is being defined.void
onExecutionFinish(TestModel aModel, SuiteSummaryResult aResult)
Called after all execution has been finished.void
onExecutionStart(TestModel aModel, VariantDefinition aVariant)
Called when the execution starts, that is, before the first (root) suite is entered.void
onMessageFromFork(TestRunnerCallbackMethods aMethod, Serializable... someObjects)
Called when a fork has sent a message to the masters' callback.void
onReturnVariableAssignment(SuiteReturn aReturn, VariableEntity aSource, VariableEntity aTarget, Suite aSuite, Object aValue)
Called when a return variable value from a suite is assigned to the respective local variable in the calling suite.void
onSetupFinish(SuiteDefinition aSetupSuite, SuiteResult aResult)
Called when a setup suite has been executed.void
onSetupSkipped(SuiteDefinition aSetupSuite, SuiteSkipReason aReason)
Called when a setup suite is being skipped.void
onSetupStart(SuiteDefinition aSetupSuite)
Called when a setup suite is being called.void
onSuiteFinish(Suite aSuite, SuiteSummaryResult aResult)
Called after a suite has finished execution.void
onSuiteSkipped(Suite aSuite, SuiteSkipReason aReason)
Called when a suite call is being skipped.void
onSuiteStart(Suite aSuite)
Called when a suite call is being followed.void
onTableTestFinish(TableTest aTableTest, TestResult aResult)
Called after a tabletest was fully executed (all rows have been executed).void
onTableTestRowFinish(TableTest aTableTest, TableTestRow aRow, TestSubResult aSubResult)
Called after a table test row has been executed.void
onTableTestRowStart(TableTest aTableTest, TableTestRow aRow)
Called when a single row of a table test is about to be executed.void
onTableTestStart(TableTest aTableTest)
Called when a table test is about to be executed.void
onTearDownFinish(SuiteDefinition aTearDownSuite, SuiteResult aResult)
Called after a teardown suite was executed.void
onTearDownSkipped(SuiteDefinition aTearDownSuite, SuiteSkipReason aReason)
Called when a teardown suite is being skipped.void
onTearDownStart(SuiteDefinition aTearDownSuite)
Called before a teardown suite is being executed.void
onTestFinish(Test aTest, TestResult aResult)
Called after a test was executed.void
onTestStart(Test aTest)
Called right before a test is being executed.void
onTimeSetFinish(TimeSet aTimeSet, TimeSetResult aResult)
Called when the test time was set.void
onTimeSetStart(TimeSet aTimeSet, SuiteDefinition aSuite, List<ForkDefinition> someForks)
Called when the test time will be set.void
onVariableAssignment(VariableAssignment anAssignment, VariableEntity aDefinition, SuiteDefinition aSuite, Object aValue)
Called when a variable is being assigned.void
onVariableDefinition(VariableEntity aDefinition, SuiteDefinition aSuite, Object anInitialValue)
Called when a variable is being defined.void
onVisibleComment(String aCommentText, boolean anIsTitle, VisibleComment aCommentElement)
Called when a visible comment is encountered during execution.void
onVisibleDivider(String aDividerText, VisibleDivider aDividerElement)
Called when a visible divider is encountered during execution.protected void
print(String aString)
Prints something, if we're not currently in a dry run.protected void
println(String aString)
Prints plus newline, if we're not currently in a dry run.protected String
resolveSuiteSkipReasonToText(SuiteSkipReason aReason)
Turns aSuiteSkipReason
into understandable text.-
Methods inherited from class de.gebit.integrity.runner.callbacks.AbstractTestRunnerCallback
containsNestedObject, containsNestedObject, convertResultValueToFormattedStringGuarded, convertResultValueToStringGuarded, valueToString
-
Methods inherited from class de.gebit.integrity.runner.callbacks.TestRunnerCallback
getForkInExecution, isDryRun, isFork, onCallbackProcessingEnd, onCallbackProcessingStart, receiveFromFork, sendToMaster, setDryRun, setForkInExecution, setRemotingServer
-
-
-
-
Field Detail
-
startTime
protected long startTime
Test execution start time.
-
testCount
protected int testCount
The number of tests executed.
-
tableTestRowCount
protected int tableTestRowCount
Counting table test rows.
-
callCount
protected int callCount
The number of calls executed.
-
suiteCount
protected int suiteCount
The number of suites executed.
-
classLoader
@Inject protected ClassLoader classLoader
The classloader to use.
-
parameterResolver
@Inject protected ParameterResolver parameterResolver
The parameter resolver to use.
-
variableManager
@Inject protected VariableManager variableManager
The variable manager to use.
-
testFormatter
@Inject protected TestFormatter testFormatter
The test formatter to use.
-
-
Method Detail
-
onExecutionStart
public void onExecutionStart(TestModel aModel, VariantDefinition aVariant)
Description copied from class:TestRunnerCallback
Called when the execution starts, that is, before the first (root) suite is entered. This is always the first call of an execution phase.- Specified by:
onExecutionStart
in classTestRunnerCallback
- Parameters:
aModel
- the test model that will be executed
-
onTestStart
public void onTestStart(Test aTest)
Description copied from class:TestRunnerCallback
Called right before a test is being executed.- Specified by:
onTestStart
in classTestRunnerCallback
- Parameters:
aTest
- the test
-
onTestFinish
public void onTestFinish(Test aTest, TestResult aResult)
Description copied from class:TestRunnerCallback
Called after a test was executed.- Specified by:
onTestFinish
in classTestRunnerCallback
- Parameters:
aTest
- the test that was executedaResult
- the result of the execution
-
displayExtendedResults
protected void displayExtendedResults(List<ExtendedResultFixture.ExtendedResult> someExtendedResults)
Displays the provided extended results on the console.- Parameters:
someExtendedResults
- the extended result list to display
-
displayTestSubResult
protected void displayTestSubResult(TestSubResult aSubResult)
Displays a test sub-result.- Parameters:
aSubResult
- the sub-result to display
-
onExecutionFinish
public void onExecutionFinish(TestModel aModel, SuiteSummaryResult aResult)
Description copied from class:TestRunnerCallback
Called after all execution has been finished. This is always the last call of an execution phase.- Specified by:
onExecutionFinish
in classTestRunnerCallback
-
onSuiteStart
public void onSuiteStart(Suite aSuite)
Description copied from class:TestRunnerCallback
Called when a suite call is being followed.- Specified by:
onSuiteStart
in classTestRunnerCallback
- Parameters:
aSuite
- the suite call that will be entered
-
onSuiteSkipped
public void onSuiteSkipped(Suite aSuite, SuiteSkipReason aReason)
Description copied from class:TestRunnerCallback
Called when a suite call is being skipped.- Specified by:
onSuiteSkipped
in classTestRunnerCallback
- Parameters:
aSuite
- the suite being skippedaReason
- the reason for the skipping
-
onSuiteFinish
public void onSuiteFinish(Suite aSuite, SuiteSummaryResult aResult)
Description copied from class:TestRunnerCallback
Called after a suite has finished execution. This might return aSuiteResult
instance if the suite was executed locally, or aSuiteSummaryResult
with just the summary count information if the suite ran on a fork, in which case the detailed information is not available.- Specified by:
onSuiteFinish
in classTestRunnerCallback
- Parameters:
aSuite
- the suite that was executedaResult
- the result of the execution
-
onVariableDefinition
public void onVariableDefinition(VariableEntity aDefinition, SuiteDefinition aSuite, Object anInitialValue)
Description copied from class:TestRunnerCallback
Called when a variable is being defined.- Specified by:
onVariableDefinition
in classTestRunnerCallback
- Parameters:
aDefinition
- the variableaSuite
- the suite in which the variable is scoped (may be null if the variable is global)anInitialValue
- the initial value (may be null if no initial value is given)
-
onConstantDefinition
public void onConstantDefinition(ConstantEntity aDefinition, SuiteDefinition aSuite, Object aValue, boolean aParameterizedFlag)
Description copied from class:TestRunnerCallback
Called when a constant is being defined.- Specified by:
onConstantDefinition
in classTestRunnerCallback
- Parameters:
aDefinition
- the constantaSuite
- the suite in which the constant is scoped (may be null if the constant is global)aValue
- the value (may be null if no value was given)aParameterizedFlag
- true if the constant was parameterized (value defined not in script, but from outside the test runner via parameter)
-
onVariableAssignment
public void onVariableAssignment(VariableAssignment anAssignment, VariableEntity aDefinition, SuiteDefinition aSuite, Object aValue)
Description copied from class:TestRunnerCallback
Called when a variable is being assigned.- Specified by:
onVariableAssignment
in classTestRunnerCallback
- Parameters:
anAssignment
- the assignmentaDefinition
- the variable that the value is to be assignedaSuite
- the suite in which the variable is scoped (may be null if the variable is global)aValue
- the value
-
onReturnVariableAssignment
public void onReturnVariableAssignment(SuiteReturn aReturn, VariableEntity aSource, VariableEntity aTarget, Suite aSuite, Object aValue)
Description copied from class:TestRunnerCallback
Called when a return variable value from a suite is assigned to the respective local variable in the calling suite.- Specified by:
onReturnVariableAssignment
in classTestRunnerCallback
- Parameters:
aReturn
- the return variable objectaSource
- the source variable entityaTarget
- the target variable entityaSuite
- the suite invocation for which the assignment is doneaValue
- the value to be assigned
-
onTimeSetStart
public void onTimeSetStart(TimeSet aTimeSet, SuiteDefinition aSuite, List<ForkDefinition> someForks)
Description copied from class:TestRunnerCallback
Called when the test time will be set.- Specified by:
onTimeSetStart
in classTestRunnerCallback
- Parameters:
aTimeSet
- the time to be setaSuite
- the suite in which the time was setsomeForks
- the forks on which the time was set (the null element in the list means the master process)
-
onTimeSetFinish
public void onTimeSetFinish(TimeSet aTimeSet, TimeSetResult aResult)
Description copied from class:TestRunnerCallback
Called when the test time was set.- Specified by:
onTimeSetFinish
in classTestRunnerCallback
- Parameters:
aTimeSet
- the time to be setaResult
- the result of the operation
-
onCallStart
public void onCallStart(Call aCall)
Description copied from class:TestRunnerCallback
Called before a call is being executed.- Specified by:
onCallStart
in classTestRunnerCallback
- Parameters:
aCall
- the call
-
onCallFinish
public void onCallFinish(Call aCall, CallResult aResult)
Description copied from class:TestRunnerCallback
Called right after a call was executed.- Specified by:
onCallFinish
in classTestRunnerCallback
- Parameters:
aCall
- the callaResult
- the result of the execution
-
onSetupStart
public void onSetupStart(SuiteDefinition aSetupSuite)
Description copied from class:TestRunnerCallback
Called when a setup suite is being called.- Specified by:
onSetupStart
in classTestRunnerCallback
- Parameters:
aSetupSuite
- the setup suite being entered
-
onSetupSkipped
public void onSetupSkipped(SuiteDefinition aSetupSuite, SuiteSkipReason aReason)
Description copied from class:TestRunnerCallback
Called when a setup suite is being skipped.- Specified by:
onSetupSkipped
in classTestRunnerCallback
- Parameters:
aSetupSuite
- the suite being skippedaReason
- the reason for the skipping
-
onSetupFinish
public void onSetupFinish(SuiteDefinition aSetupSuite, SuiteResult aResult)
Description copied from class:TestRunnerCallback
Called when a setup suite has been executed.- Specified by:
onSetupFinish
in classTestRunnerCallback
- Parameters:
aSetupSuite
- the setup suite that was executedaResult
- the result of the execution
-
onTearDownStart
public void onTearDownStart(SuiteDefinition aTearDownSuite)
Description copied from class:TestRunnerCallback
Called before a teardown suite is being executed.- Specified by:
onTearDownStart
in classTestRunnerCallback
- Parameters:
aTearDownSuite
- the suite to be executed
-
onTearDownSkipped
public void onTearDownSkipped(SuiteDefinition aTearDownSuite, SuiteSkipReason aReason)
Description copied from class:TestRunnerCallback
Called when a teardown suite is being skipped.- Specified by:
onTearDownSkipped
in classTestRunnerCallback
- Parameters:
aTearDownSuite
- the suite being skippedaReason
- the reason for the skipping
-
onTearDownFinish
public void onTearDownFinish(SuiteDefinition aTearDownSuite, SuiteResult aResult)
Description copied from class:TestRunnerCallback
Called after a teardown suite was executed.- Specified by:
onTearDownFinish
in classTestRunnerCallback
- Parameters:
aTearDownSuite
- the suite that was executedaResult
- the result of the execution
-
onTableTestStart
public void onTableTestStart(TableTest aTableTest)
Description copied from class:TestRunnerCallback
Called when a table test is about to be executed.- Specified by:
onTableTestStart
in classTestRunnerCallback
- Parameters:
aTableTest
- the table test
-
onTableTestRowStart
public void onTableTestRowStart(TableTest aTableTest, TableTestRow aRow)
Description copied from class:TestRunnerCallback
Called when a single row of a table test is about to be executed.- Specified by:
onTableTestRowStart
in classTestRunnerCallback
- Parameters:
aTableTest
- the table test that contains the rowaRow
- the row
-
onTableTestRowFinish
public void onTableTestRowFinish(TableTest aTableTest, TableTestRow aRow, TestSubResult aSubResult)
Description copied from class:TestRunnerCallback
Called after a table test row has been executed.- Specified by:
onTableTestRowFinish
in classTestRunnerCallback
- Parameters:
aTableTest
- the table test that contains the rowaRow
- the row that was executedaSubResult
- the result of the execution
-
onTableTestFinish
public void onTableTestFinish(TableTest aTableTest, TestResult aResult)
Description copied from class:TestRunnerCallback
Called after a tabletest was fully executed (all rows have been executed).- Specified by:
onTableTestFinish
in classTestRunnerCallback
- Parameters:
aTableTest
- the table testaResult
- the result of the test execution
-
onVisibleComment
public void onVisibleComment(String aCommentText, boolean anIsTitle, VisibleComment aCommentElement)
Description copied from class:TestRunnerCallback
Called when a visible comment is encountered during execution.- Specified by:
onVisibleComment
in classTestRunnerCallback
- Parameters:
aCommentText
- the text inside the commentaCommentElement
- the raw comment element
-
onVisibleDivider
public void onVisibleDivider(String aDividerText, VisibleDivider aDividerElement)
Description copied from class:TestRunnerCallback
Called when a visible divider is encountered during execution.- Specified by:
onVisibleDivider
in classTestRunnerCallback
- Parameters:
aDividerText
- the divider text (basically a String of '-' chars with minimum length of 3 chars)aDividerElement
- the raw divider element
-
onAbortExecution
public void onAbortExecution(String anAbortExecutionMessage, String anAbortExecutionStackTrace)
Description copied from class:TestRunnerCallback
Called when test execution is aborted prematurely due to anAbortExecutionException
- either thrown locally or by a fork. The original exception can't be provided since it cannot be received from a fork by remoting. Instead, the data from the exception is provided in both cases.- Specified by:
onAbortExecution
in classTestRunnerCallback
- Parameters:
anAbortExecutionMessage
- the message from the exceptionanAbortExecutionStackTrace
- the stack trace of the exception
-
onMessageFromFork
public void onMessageFromFork(TestRunnerCallbackMethods aMethod, Serializable... someObjects)
Description copied from class:TestRunnerCallback
Called when a fork has sent a message to the masters' callback. In order to merge results determined by forks seamlessly into the masters' results, callbacks do automatically have a simple messaging system at their disposal. When a fork callback usesTestRunnerCallback.sendToMaster(TestRunnerCallbackMethods, Serializable...)
, this method is called on the masters' respective callback in order to deliver the objects given.- Specified by:
onMessageFromFork
in classTestRunnerCallback
- Parameters:
aMethod
- the method that was called on the forks' callback (doesn't have to be used, evaluating this parameter is the job of the masters' callback and can thus be omitted if it ain't necessary)someObjects
- the objects sent by the forks' callback
-
print
protected void print(String aString)
Prints something, if we're not currently in a dry run.- Parameters:
aString
- the string to print
-
println
protected void println(String aString)
Prints plus newline, if we're not currently in a dry run.- Parameters:
aString
- the string to print
-
resolveSuiteSkipReasonToText
protected String resolveSuiteSkipReasonToText(SuiteSkipReason aReason)
Turns aSuiteSkipReason
into understandable text.- Parameters:
aReason
- the reason- Returns:
- the textual reason
-
-