12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package reporting
- import (
- "os"
- "runtime"
- "strings"
- )
- func init() {
- if !isColorableTerminal() {
- monochrome()
- }
- if runtime.GOOS == "windows" {
- success, failure, error_ = dotSuccess, dotFailure, dotError
- }
- }
- func BuildJsonReporter() Reporter {
- out := NewPrinter(NewConsole())
- return NewReporters(
- NewGoTestReporter(),
- NewJsonReporter(out))
- }
- func BuildDotReporter() Reporter {
- out := NewPrinter(NewConsole())
- return NewReporters(
- NewGoTestReporter(),
- NewDotReporter(out),
- NewProblemReporter(out),
- consoleStatistics)
- }
- func BuildStoryReporter() Reporter {
- out := NewPrinter(NewConsole())
- return NewReporters(
- NewGoTestReporter(),
- NewStoryReporter(out),
- NewProblemReporter(out),
- consoleStatistics)
- }
- func BuildSilentReporter() Reporter {
- out := NewPrinter(NewConsole())
- return NewReporters(
- NewGoTestReporter(),
- NewSilentProblemReporter(out))
- }
- var (
- newline = "\n"
- success = "✔"
- failure = "✘"
- error_ = "🔥"
- skip = "⚠"
- dotSuccess = "."
- dotFailure = "x"
- dotError = "E"
- dotSkip = "S"
- errorTemplate = "* %s \nLine %d: - %v \n%s\n"
- failureTemplate = "* %s \nLine %d:\n%s\n%s\n"
- )
- var (
- greenColor = "\033[32m"
- yellowColor = "\033[33m"
- redColor = "\033[31m"
- resetColor = "\033[0m"
- )
- var consoleStatistics = NewStatisticsReporter(NewPrinter(NewConsole()))
- func SuppressConsoleStatistics() { consoleStatistics.Suppress() }
- func PrintConsoleStatistics() { consoleStatistics.PrintSummary() }
- // QuietMode disables all console output symbols. This is only meant to be used
- // for tests that are internal to goconvey where the output is distracting or
- // otherwise not needed in the test output.
- func QuietMode() {
- success, failure, error_, skip, dotSuccess, dotFailure, dotError, dotSkip = "", "", "", "", "", "", "", ""
- }
- func monochrome() {
- greenColor, yellowColor, redColor, resetColor = "", "", "", ""
- }
- func isColorableTerminal() bool {
- return strings.Contains(os.Getenv("TERM"), "color")
- }
- // This interface allows us to pass the *testing.T struct
- // throughout the internals of this tool without ever
- // having to import the "testing" package.
- type T interface {
- Fail()
- }
|