From: Russ Cox Date: Mon, 9 Jul 2018 14:46:28 +0000 (-0400) Subject: cmd/go: add test for tests with no tests X-Git-Tag: go1.11beta2~166 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5a8b652c6e93311fb6f336e7075aee46ef560213;p=gostls13.git cmd/go: add test for tests with no tests CL 122518 rolled back an earlier CL that made "go test" start running test binaries for packages with no *_test.go files. Add a test as another roadblock to reintroducing that behavior in the future. For #26462. Change-Id: I898103064efee8d6ae65bcf74f4dffc830eae7e9 Reviewed-on: https://go-review.googlesource.com/122595 Run-TryBot: Russ Cox TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go index 2434f0f5f2..889a6d5df1 100644 --- a/src/cmd/go/go_test.go +++ b/src/cmd/go/go_test.go @@ -6452,6 +6452,16 @@ func TestCDAndGOPATHAreDifferent(t *testing.T) { } } +// Issue 26242. +func TestGoTestWithoutTests(t *testing.T) { + tg := testgo(t) + defer tg.cleanup() + tg.parallel() + tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata")) + tg.run("test", "testnorun") + tg.grepStdout(`testnorun\t\[no test files\]`, "do not want test to run") +} + // Issue 25579. func TestGoBuildDashODevNull(t *testing.T) { tg := testgo(t) diff --git a/src/cmd/go/testdata/src/testnorun/p.go b/src/cmd/go/testdata/src/testnorun/p.go new file mode 100644 index 0000000000..71a9a561ef --- /dev/null +++ b/src/cmd/go/testdata/src/testnorun/p.go @@ -0,0 +1,5 @@ +package p + +func init() { + panic("go test must not link and run test binaries without tests") +}