Commit 7f4443d5 authored by Russ Cox's avatar Russ Cox

testing: add clear panic for duplicate call to t.Parallel

Change-Id: I155633b58e1823344a26c3edf11f5626fae080ee
Reviewed-on: https://go-review.googlesource.com/18204Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent 9d549b5b
......@@ -293,7 +293,8 @@ var _ TB = (*B)(nil)
// may be called simultaneously from multiple goroutines.
type T struct {
common
name string // Name of test.
name string // Name of test.
isParallel bool
startParallel chan bool // Parallel tests will wait on this.
}
......@@ -430,6 +431,10 @@ func (t *T) Parallel() {
// We don't want to include the time we spend waiting for serial tests
// in the test duration. Record the elapsed time thus far and reset the
// timer afterwards.
if t.isParallel {
panic("testing: t.Parallel called multiple times")
}
t.isParallel = true
t.duration += time.Since(t.start)
t.signal <- (*T)(nil) // Release main testing loop
<-t.startParallel // Wait for serial tests to finish
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment