]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: add test for test -race -i behavior
authorRuss Cox <rsc@golang.org>
Wed, 5 Apr 2017 14:57:03 +0000 (10:57 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 5 Apr 2017 18:46:16 +0000 (18:46 +0000)
This was fixed in CL 37598 but the test was (rightly) dropped
because it modified $GOROOT. Here's a variant that does not.

For #19151.

Change-Id: Iccdbbf9ae8ac4c252e52f4f8ff996963573c4682
Reviewed-on: https://go-review.googlesource.com/39592
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/go/go_test.go

index d23663fc6cafac891f8c2f7824a5192ce15c054f..f384cd8afc1ea4f052117770add67428dc195ba2 100644 (file)
@@ -2227,6 +2227,24 @@ func TestTestEmpty(t *testing.T) {
        }
 }
 
+func TestTestRaceInstall(t *testing.T) {
+       if !canRace {
+               t.Skip("no race detector")
+       }
+
+       tg := testgo(t)
+       defer tg.cleanup()
+       tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata"))
+
+       tg.tempDir("pkg")
+       pkgdir := tg.path("pkg")
+       tg.run("install", "-race", "-pkgdir="+pkgdir, "std")
+       tg.run("test", "-race", "-pkgdir="+pkgdir, "-i", "-v", "empty/pkg")
+       if tg.getStderr() != "" {
+               t.Error("go test -i -race: rebuilds cached packages")
+       }
+}
+
 func TestBuildDryRunWithCgo(t *testing.T) {
        if !canCgo {
                t.Skip("skipping because cgo not enabled")