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 <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go
index 2434f0f..889a6d5 100644
--- a/src/cmd/go/go_test.go
+++ b/src/cmd/go/go_test.go
@@ -6452,6 +6452,16 @@
}
}
+// 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 0000000..71a9a56
--- /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")
+}