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")
+}