i think you're SOL with that package but here's a similar approach with go 1.7's stock testing tools:
package main
import "testing"
func TestSuite1(t *testing.T) {
t.Run("first test", func(t *testing.T) { t.Fail() })
t.Run("second test", func(t *testing.T) { t.Fail() })
}
func TestSuite2(t *testing.T) {
t.Run("third test", func(t *testing.T) { t.Fatal("3") })
t.Run("fourth test", func(t *testing.T) { t.Fatal("4") })
}
Example output for one suite:
therealplato/stack-suites Ω go test -run TestSuite1
--- FAIL: TestSuite1 (0.00s)
--- FAIL: TestSuite1/first_test (0.00s)
--- FAIL: TestSuite1/second_test (0.00s)
FAIL
exit status 1
FAIL github.com/therealplato/stack-suites 0.005s
Example output for one test:
therealplato/stack-suites Ω go test -run TestSuite2/third
--- FAIL: TestSuite2 (0.00s)
--- FAIL: TestSuite2/third_test (0.00s)
main_test.go:11: 3
FAIL
exit status 1
FAIL github.com/therealplato/stack-suites 0.005s