diff options
Diffstat (limited to 'libgo/go/testing')
-rw-r--r-- | libgo/go/testing/benchmark.go | 3 | ||||
-rw-r--r-- | libgo/go/testing/benchmark_test.go | 1 | ||||
-rw-r--r-- | libgo/go/testing/testing.go | 13 |
3 files changed, 14 insertions, 3 deletions
diff --git a/libgo/go/testing/benchmark.go b/libgo/go/testing/benchmark.go index e6f3c6d7903..1fbf5c8615f 100644 --- a/libgo/go/testing/benchmark.go +++ b/libgo/go/testing/benchmark.go @@ -417,6 +417,9 @@ func (b *B) RunParallel(body func(*PB)) { }() } wg.Wait() + if n <= uint64(b.N) && !b.Failed() { + b.Fatal("RunParallel: body exited without pb.Next() == false") + } } // SetParallelism sets the number of goroutines used by RunParallel to p*GOMAXPROCS. diff --git a/libgo/go/testing/benchmark_test.go b/libgo/go/testing/benchmark_test.go index 9997b992042..f7ea64e7f1c 100644 --- a/libgo/go/testing/benchmark_test.go +++ b/libgo/go/testing/benchmark_test.go @@ -88,7 +88,6 @@ func TestRunParallelFail(t *testing.T) { // w/o crashing/deadlocking the whole benchmark. b.Log("log") b.Error("error") - b.Fatal("fatal") }) }) } diff --git a/libgo/go/testing/testing.go b/libgo/go/testing/testing.go index 855f3a9bbe9..8078ba7cc03 100644 --- a/libgo/go/testing/testing.go +++ b/libgo/go/testing/testing.go @@ -8,9 +8,17 @@ // func TestXxx(*testing.T) // where Xxx can be any alphanumeric string (but the first letter must not be in // [a-z]) and serves to identify the test routine. -// These TestXxx routines should be declared within the package they are testing. // -// Tests and benchmarks may be skipped if not applicable like this: +// Within these functions, use the Error, Fail or related methods to signal failure. +// +// To write a new test suite, create a file whose name ends _test.go that +// contains the TestXxx functions as described here. Put the file in the same +// package as the one being tested. The file will be excluded from regular +// package builds but will be included when the ``go test'' command is run. +// For more detail, run ``go help test'' and ``go help testflag''. +// +// Tests and benchmarks may be skipped if not applicable with a call to +// the Skip method of *T and *B: // func TestTimeConsuming(t *testing.T) { // if testing.Short() { // t.Skip("skipping test in short mode.") @@ -429,6 +437,7 @@ func Main(matchString func(pat, str string) (bool, error), tests []InternalTest, stopAlarm() if !testOk || !exampleOk { fmt.Println("FAIL") + after() os.Exit(1) } fmt.Println("PASS") |