60 lines
1003 B
Go
60 lines
1003 B
Go
package play
|
|
|
|
import (
|
|
"sync"
|
|
"testing"
|
|
|
|
"play/mock"
|
|
)
|
|
|
|
func TestTopSubHelper(t *testing.T) {
|
|
t.Run("sub", func(t *testing.T) {
|
|
t.Log("log message")
|
|
t.Error("sub badness")
|
|
})
|
|
t.Error("badness")
|
|
helper(t)
|
|
}
|
|
|
|
func TestMultiline(t *testing.T) {
|
|
t.Error("this is an error\nand a second line, too")
|
|
t.Error("\nthis is another error")
|
|
}
|
|
|
|
func TestSub(t *testing.T) {
|
|
t.Run("indented", func(t *testing.T) {
|
|
t.Error("this is a sub-test error\nand a second line, too")
|
|
})
|
|
}
|
|
|
|
func TestOK(t *testing.T) {
|
|
t.Run("log", func(t *testing.T) {
|
|
t.Log("goodness")
|
|
})
|
|
}
|
|
|
|
// TestMocked tests behavior similar to what users may experience when using
|
|
// github.com/golang/mock/gomock.
|
|
func TestMocked(t *testing.T) {
|
|
mock.Fail(t)
|
|
}
|
|
|
|
func TestPanic(t *testing.T) {
|
|
panic("worst ever")
|
|
}
|
|
|
|
func TestConcurrentPanic(t *testing.T) {
|
|
var wg sync.WaitGroup
|
|
wg.Add(1)
|
|
go func() {
|
|
panic("concurrent fail")
|
|
wg.Done()
|
|
}()
|
|
wg.Wait()
|
|
}
|
|
|
|
func helper(t *testing.T) {
|
|
t.Helper()
|
|
t.Fatal("helper badness")
|
|
}
|