sbt/testing/src/main/contraband/testing.contra

66 lines
1.6 KiB
Plaintext

package sbt.protocol.testing
@target(Scala)
@codecPackage("sbt.protocol.testing.codec")
@fullCodec("JsonProtocol")
## Events for testing
interface TestMessage {
}
type TestStringEvent implements TestMessage {
value: String!
#xtostring value
}
## Called once, at beginning of the testing.
type TestInitEvent implements TestMessage {}
## Called once, at end of the testing.
type TestCompleteEvent implements TestMessage {
result: sbt.protocol.testing.TestResult!
}
## Called for each class or equivalent grouping.
type StartTestGroupEvent implements TestMessage {
name: String!
}
## Called if test completed.
type EndTestGroupEvent implements TestMessage {
name: String!
result: sbt.protocol.testing.TestResult!
}
## Called if test completed with an error.
type EndTestGroupErrorEvent implements TestMessage {
name: String!
error: String!
}
## Called for each test method or equivalent.
type TestItemEvent implements TestMessage {
result: sbt.protocol.testing.TestResult
detail: [sbt.protocol.testing.TestItemDetail]
}
## Mini version of sbt.testing.Event
type TestItemDetail {
## The fully qualified name of a class that can rerun the suite or test
## about which an event was fired.
fullyQualifiedName: String!
## Indicates whether the event represents a test success, failure, error, skipped, ignored, canceled, pending.
status: sbt.testing.Status!
## An amount of time, in milliseconds, that was required to complete the action reported by this event.
## None, if no duration was available.
duration: Long
}
## Testing result
enum TestResult {
Passed
Failed
Error
}