Trait

sbt.testing

Runner

Related Doc: package testing

Permalink

trait Runner extends AnyRef

Represents one run of a suite of tests.

The run represented by a Runner has a lifecycle. The run begins when the Runner is instantiated by the framework and returned to the client during a Framework.runner invocation. The run continues until the client invokes done on the Runner. Before invoking done, the client can invoke the tasks method as many times at it wants, but once done has been invoked, the Runner enters "spent" mode. Any subsequent invocations of tasks will be met with an IllegalStateException.

In Scala.js, the client may request multiple instances of Runner, where one of these instances is considered the master. The slaves receive a communication channel to the master. Once the master's done method is invoked, nothing may be invoked on the slaves or the master. Slaves can be de-comissioned before the master terminates.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Runner
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def args: Array[String]

    Permalink

    Returns the arguments that were used to create this Runner.

    Returns the arguments that were used to create this Runner.

    returns

    an array of argument that is used to create this Runner.

  2. abstract def deserializeTask(task: String, deserializer: (String) ⇒ TaskDef): Task

    Permalink

    Scala.js specific: Deserialize a task that has been serialized by serializeTask of another or this Runner.

    Scala.js specific: Deserialize a task that has been serialized by serializeTask of another or this Runner.

    The resulting task must associate with this runner.

  3. abstract def done(): String

    Permalink

    Indicates the client is done with this Runner instance.

    Indicates the client is done with this Runner instance.

    After invoking the done method on a Runner instance, the client should no longer invoke the task methods on that instance. (If the client does invoke task after done, it will be rewarded with an IllegalStateException.)

    Similarly, after returning from done, the test framework should no longer write any messages to the Logger, nor fire any more events to the EventHandler, passed to Framework.runner. If the test framework has not completed writing log messages or firing events when the client invokes done, the framework should not return from done until it is finished sending messages and events, and may block the thread that invoked done until it is actually done.

    In short, by invoking done, the client indicates it is done invoking the task methods for this run. By returning from done, the test framework indicates it is done writing log messages and firing events for this run.

    If the client invokes done more than once on the same Runner instance, the test framework should on subsequent invocations should throw IllegalStateException.

    The test framework may send a summary (i.e., a message giving total tests succeeded, failed, and so on) to the user via a log message. If so, it should return the summary from done. If not, it should return an empty string. The client may use the return value of done to decide whether to display its own summary message.

    The test framework may return a multi-lines string (i.e., a message giving total tests succeeded, failed and so on) to the client.

    In Scala.js, the client must not call this method before all execute methods of all Tasks have called their completion continuation. Otherwise, the Framework should throw an IllegalStateException (since it cannot block).

    Further, if this is the master, the client must not call this method before, all done methods of all slaves have returned (otherwise, IllegalStateException). If this is a slave, the returned string is ignored.

    returns

    a possibly multi-line summary string, or the empty string if no summary is provided

  4. abstract def receiveMessage(msg: String): Option[String]

    Permalink

    Scala.js specific: Invoked on the master Runner, if a slave sends a message (through the channel provided by the client).

    Scala.js specific: Invoked on the master Runner, if a slave sends a message (through the channel provided by the client).

    The master may send a message back to the sending slave by returning the message in a Some.

    Invoked on a slave Runner, if the master responds to a message (sent by the slave via the supplied closure in slaveRunner). The return value of the call is ignored in this case.

  5. abstract def remoteArgs(): Array[String]

    Permalink

    Remote args that will be passed to Runner in a sub-process as remoteArgs.

    Remote args that will be passed to Runner in a sub-process as remoteArgs.

    returns

    an array of strings that will be passed to Runner in a sub-process as remoteArgs.

  6. abstract def serializeTask(task: Task, serializer: (TaskDef) ⇒ String): String

    Permalink

    Scala.js specific: Serialize a task created by tasks or returned from execute.

    Scala.js specific: Serialize a task created by tasks or returned from execute.

    The resulting string will be passed to the deserializeTask method of another runner. After calling this method, the passed task is invalid and should dissociate from this runner.

  7. abstract def tasks(taskDefs: Array[TaskDef]): Array[Task]

    Permalink

    Returns an array of tasks that when executed will run tests and suites determined by the passed TaskDefs.

    Returns an array of tasks that when executed will run tests and suites determined by the passed TaskDefs.

    Each returned task, when executed, will run tests and suites determined by the test class name, fingerprints, "explicitly specified" field, and selectors of one of the passed TaskDefs.

    This tasks method may be called with TaskDefs containing the same value for testClassName but different fingerprints. For example, if both a class and its companion object were test classes, the tasks method could be passed an array containing TaskDefs with the same name but with a different value for fingerprint.isModule.

    A test framework may "reject" a requested task by returning no Task for that TaskDef.

    taskDefs

    the TaskDefs for requested tasks

    returns

    an array of Tasks

    Exceptions thrown

    java.lang.IllegalStateException if invoked after done has been invoked.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped