1
0
mirror of https://github.com/golang/go synced 2024-10-02 20:31:21 -06:00

cmd/compile: split TestNexting into subtests

This makes it more obvious which of the two builds is failing by
putting "dbg" or "opt" directly in the test name. It also makes it
possible for them to fail independently, so a failure in "dbg" doesn't
mask a failure in "opt", and to visibly skip the opt test when run
with an unoptimized runtime.

Change-Id: I3403a7fd3c1a13ad51a938bb95dfe54c320bb58e
Reviewed-on: https://go-review.googlesource.com/69970
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
This commit is contained in:
Austin Clements 2017-10-11 10:34:35 -04:00 committed by David Chase
parent 0aef82aa4a
commit 0bede7f34e

View File

@ -98,12 +98,18 @@ func TestNexting(t *testing.T) {
}
}
testNexting(t, "hist", "dbg", "-N -l")
// If this is test is run with a runtime compiled with -N -l, it is very likely to fail.
// This occurs in the noopt builders (for example).
if gogcflags := os.Getenv("GO_GCFLAGS"); *force || !strings.Contains(gogcflags, "-N") && !strings.Contains(gogcflags, "-l") {
testNexting(t, "hist", "opt", "")
}
t.Run("dbg", func(t *testing.T) {
testNexting(t, "hist", "dbg", "-N -l")
})
t.Run("opt", func(t *testing.T) {
// If this is test is run with a runtime compiled with -N -l, it is very likely to fail.
// This occurs in the noopt builders (for example).
if gogcflags := os.Getenv("GO_GCFLAGS"); *force || (!strings.Contains(gogcflags, "-N") && !strings.Contains(gogcflags, "-l")) {
testNexting(t, "hist", "opt", "")
} else {
t.Skip("skipping for unoptimized runtime")
}
})
}
func testNexting(t *testing.T, base, tag, gcflags string) {