From 5a8b652c6e93311fb6f336e7075aee46ef560213 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 9 Jul 2018 10:46:28 -0400 Subject: [PATCH] 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 --- src/cmd/go/go_test.go | 10 ++++++++++ src/cmd/go/testdata/src/testnorun/p.go | 5 +++++ 2 files changed, 15 insertions(+) create mode 100644 src/cmd/go/testdata/src/testnorun/p.go 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") +} -- 2.50.0