]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/cmd/go/go_test.go
[dev.boringcrypto] all: merge master into dev.boringcrypto
[gostls13.git] / src / cmd / go / go_test.go
index f419d3c63a062d57f7c33e3e29fd6c3246449572..faf6b392fe3e147fc651ce2306a4b7ebd4536c60 100644 (file)
@@ -1462,8 +1462,38 @@ func TestInstallIntoGOPATH(t *testing.T) {
 func TestBuildOutputToDevNull(t *testing.T) {
        tg := testgo(t)
        defer tg.cleanup()
+       fi1, err1 := os.Lstat(os.DevNull)
        tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata"))
        tg.run("build", "-o", os.DevNull, "go-cmd-test")
+       fi2, err2 := os.Lstat(os.DevNull)
+       if err1 == nil {
+               if err2 != nil {
+                       t.Errorf("second stat of /dev/null failed: %v", err2)
+               } else if !os.SameFile(fi1, fi2) {
+                       t.Errorf("/dev/null changed: now %v was %v", fi1, fi2)
+               }
+       }
+}
+
+// Issue 28549.
+func TestTestOutputToDevNull(t *testing.T) {
+       tg := testgo(t)
+       defer tg.cleanup()
+       fi1, err1 := os.Lstat(os.DevNull)
+       tg.makeTempdir()
+       tg.setenv("GOPATH", tg.path("."))
+       tg.tempFile("src/p/p.go", "package p\n")
+       tg.tempFile("src/p/p_test.go", "package p\nimport \"testing\"\nfunc TestX(t *testing.T) {}\n")
+       tg.run("test", "-o", os.DevNull, "-c", "p")
+       tg.mustNotExist("p.test")
+       fi2, err2 := os.Lstat(os.DevNull)
+       if err1 == nil {
+               if err2 != nil {
+                       t.Errorf("second stat of /dev/null failed: %v", err2)
+               } else if !os.SameFile(fi1, fi2) {
+                       t.Errorf("/dev/null changed: now %v was %v", fi1, fi2)
+               }
+       }
 }
 
 func TestPackageMainTestImportsArchiveNotBinary(t *testing.T) {