Class CompoundTestRunnerCallback


  • public class CompoundTestRunnerCallback
    extends TestRunnerCallback
    This special TestRunnerCallback is intended to be used for combining multiple callbacks. It will simply distribute all calls to all contained callbacks.
    Author:
    Rene Schneider - initial API and implementation
    • Constructor Detail

      • CompoundTestRunnerCallback

        public CompoundTestRunnerCallback​(TestRunnerCallback... someCallbacks)
        Creates a new instance.
        Parameters:
        someCallbacks - the callbacks to be wrapped
    • Method Detail

      • addCallback

        public void addCallback​(TestRunnerCallback aCallback)
        Adds another callback.
        Parameters:
        aCallback - the callback to be added
      • removeCallback

        public void removeCallback​(TestRunnerCallback aCallback)
        Removes a callback from the compound. Will cascade down to nested CompoundTestRunnerCallbacks.
        Parameters:
        aCallback - the callback to be removed
      • injectDependencies

        public void injectDependencies​(com.google.inject.Injector anInjector)
        Injects Guice dependencies into all contained callbacks.
        Parameters:
        anInjector - the guice injector
      • 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 class TestRunnerCallback
        Parameters:
        aModel - the test model that will be executed
      • onSuiteStart

        public void onSuiteStart​(Suite aSuite)
        Description copied from class: TestRunnerCallback
        Called when a suite call is being followed.
        Specified by:
        onSuiteStart in class TestRunnerCallback
        Parameters:
        aSuite - the suite call that will be entered
      • onSuiteFinish

        public void onSuiteFinish​(Suite aSuite,
                                  SuiteSummaryResult aResult)
        Description copied from class: TestRunnerCallback
        Called after a suite has finished execution. This might return a SuiteResult instance if the suite was executed locally, or a SuiteSummaryResult 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 class TestRunnerCallback
        Parameters:
        aSuite - the suite that was executed
        aResult - the result of the execution
      • onVariableDefinition

        public void onVariableDefinition​(VariableEntity aDefinition,
                                         SuiteDefinition aSuite,
                                         java.lang.Object anInitialValue)
        Description copied from class: TestRunnerCallback
        Called when a variable is being defined.
        Specified by:
        onVariableDefinition in class TestRunnerCallback
        Parameters:
        aDefinition - the variable
        aSuite - 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,
                                         java.lang.Object aValue,
                                         boolean aParameterizedFlag)
        Description copied from class: TestRunnerCallback
        Called when a constant is being defined.
        Specified by:
        onConstantDefinition in class TestRunnerCallback
        Parameters:
        aDefinition - the constant
        aSuite - 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,
                                         java.lang.Object aValue)
        Description copied from class: TestRunnerCallback
        Called when a variable is being assigned.
        Specified by:
        onVariableAssignment in class TestRunnerCallback
        Parameters:
        anAssignment - the assignment
        aDefinition - the variable that the value is to be assigned
        aSuite - 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,
                                               java.lang.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 class TestRunnerCallback
        Parameters:
        aReturn - the return variable object
        aSource - the source variable entity
        aTarget - the target variable entity
        aSuite - the suite invocation for which the assignment is done
        aValue - the value to be assigned
      • onTimeSetStart

        public void onTimeSetStart​(TimeSet aTimeSet,
                                   SuiteDefinition aSuite,
                                   java.util.List<ForkDefinition> someForks)
        Description copied from class: TestRunnerCallback
        Called when the test time will be set.
        Specified by:
        onTimeSetStart in class TestRunnerCallback
        Parameters:
        aTimeSet - the time to be set
        aSuite - the suite in which the time was set
        someForks - the forks on which the time was set (the null element in the list means the master process)
      • onTableTestFinish

        public void onTableTestFinish​(TableTest aTableTest,
                                      TestResult someResults)
        Description copied from class: TestRunnerCallback
        Called after a tabletest was fully executed (all rows have been executed).
        Specified by:
        onTableTestFinish in class TestRunnerCallback
        Parameters:
        aTableTest - the table test
        someResults - the result of the test execution
      • onMessageFromFork

        public void onMessageFromFork​(TestRunnerCallbackMethods aMethod,
                                      java.io.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 uses TestRunnerCallback.sendToMaster(TestRunnerCallbackMethods, Serializable...), this method is called on the masters' respective callback in order to deliver the objects given.
        Specified by:
        onMessageFromFork in class TestRunnerCallback
        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
      • receiveFromFork

        public void receiveFromFork​(java.lang.String aCallbackClassName,
                                    TestRunnerCallbackMethods aMethod,
                                    java.io.Serializable[] someData)
        Description copied from class: TestRunnerCallback
        This method is used by the test runner to forward messages received from the forks to the callback.
        Overrides:
        receiveFromFork in class TestRunnerCallback
        Parameters:
        aCallbackClassName - the callback class name
        aMethod - the method called
        someData - the objects given by the fork
      • onVisibleComment

        public void onVisibleComment​(java.lang.String aCommentText,
                                     boolean anIsTitle,
                                     VisibleComment aCommentElement)
        Description copied from class: TestRunnerCallback
        Called when a visible comment is encountered during execution.
        Specified by:
        onVisibleComment in class TestRunnerCallback
        Parameters:
        aCommentText - the text inside the comment
        aCommentElement - the raw comment element
      • onVisibleDivider

        public void onVisibleDivider​(java.lang.String aDividerText,
                                     VisibleDivider aDividerElement)
        Description copied from class: TestRunnerCallback
        Called when a visible divider is encountered during execution.
        Specified by:
        onVisibleDivider in class TestRunnerCallback
        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​(java.lang.String anAbortExecutionMessage,
                                     java.lang.String anAbortExecutionStackTrace)
        Description copied from class: TestRunnerCallback
        Called when test execution is aborted prematurely due to an AbortExecutionException - 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 class TestRunnerCallback
        Parameters:
        anAbortExecutionMessage - the message from the exception
        anAbortExecutionStackTrace - the stack trace of the exception