]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: fix TestModFindModulePath on Windows
authorRuss Cox <rsc@golang.org>
Fri, 13 Jul 2018 20:38:24 +0000 (16:38 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 13 Jul 2018 20:51:56 +0000 (20:51 +0000)
The os.RemoveAll(tg.tempdir) was not a good idea.

Change-Id: I6f78cff887044186649cbf3ee04a58abdbcb71e2
Reviewed-on: https://go-review.googlesource.com/123757
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/go/mod_test.go

index 4814ef82a856d57014ca1d234815893a4facddff..8705478dff8db261c82f98efdc3880410c4eab9b 100644 (file)
@@ -12,6 +12,7 @@ import (
        "os/exec"
        "path/filepath"
        "regexp"
+       "runtime"
        "sort"
        "strings"
        "testing"
@@ -213,23 +214,25 @@ func TestModFindModulePath(t *testing.T) {
                t.Fatalf("FindModulePath = %q, %v, want %q, nil", path, err, "unexpected.com/z")
        }
 
+       if runtime.GOOS == "windows" {
+               t.Skipf("windows removeall fails")
+       }
+
        // Empty dir outside GOPATH
-       tg.must(os.RemoveAll(tg.tempdir))
-       tg.must(os.MkdirAll(tg.path("gp"), 0777))
-       tg.must(os.MkdirAll(tg.path("x"), 0777))
-       cfg.BuildContext.GOPATH = tg.path("gp")
+       tg.must(os.MkdirAll(tg.path("gp1"), 0777))
+       tg.must(os.MkdirAll(tg.path("x1"), 0777))
+       cfg.BuildContext.GOPATH = tg.path("gp1")
 
-       path, err = modload.FindModulePath(tg.path("x"))
+       path, err = modload.FindModulePath(tg.path("x1"))
        if path != "" || err == nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, %q", path, err, "", "cannot determine module path for source directory")
        }
 
        // Empty dir inside GOPATH
-       tg.must(os.RemoveAll(tg.tempdir))
-       tg.must(os.MkdirAll(tg.path("gp/src/x"), 0777))
-       cfg.BuildContext.GOPATH = tg.path("gp")
+       tg.must(os.MkdirAll(tg.path("gp2/src/x"), 0777))
+       cfg.BuildContext.GOPATH = tg.path("gp2")
 
-       path, err = modload.FindModulePath(tg.path("gp/src/x"))
+       path, err = modload.FindModulePath(tg.path("gp2/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
@@ -242,16 +245,15 @@ func TestModFindModulePath(t *testing.T) {
        // Empty dir inside GOPATH, dir has symlink
        // GOPATH = gp
        // gplink -> gp
-       tg.must(os.RemoveAll(tg.tempdir))
-       tg.must(os.MkdirAll(tg.path("gp/src/x"), 0777))
-       tg.must(os.Symlink(tg.path("gp"), tg.path("gplink")))
-       cfg.BuildContext.GOPATH = tg.path("gp")
+       tg.must(os.MkdirAll(tg.path("gp3/src/x"), 0777))
+       tg.must(os.Symlink(tg.path("gp3"), tg.path("gplink3")))
+       cfg.BuildContext.GOPATH = tg.path("gp3")
 
-       path, err = modload.FindModulePath(tg.path("gplink/src/x"))
+       path, err = modload.FindModulePath(tg.path("gplink3/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
-       path, err = modload.FindModulePath(tg.path("gp/src/x"))
+       path, err = modload.FindModulePath(tg.path("gp3/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
@@ -259,13 +261,12 @@ func TestModFindModulePath(t *testing.T) {
        // Empty dir inside GOPATH, dir has symlink 2
        // GOPATH = gp
        // gp/src/x -> x/x
-       tg.must(os.RemoveAll(tg.tempdir))
-       tg.must(os.MkdirAll(tg.path("gp/src"), 0777))
-       tg.must(os.MkdirAll(tg.path("x/x"), 0777))
-       tg.must(os.Symlink(tg.path("x/x"), tg.path("gp/src/x")))
-       cfg.BuildContext.GOPATH = tg.path("gp")
+       tg.must(os.MkdirAll(tg.path("gp4/src"), 0777))
+       tg.must(os.MkdirAll(tg.path("x4/x"), 0777))
+       tg.must(os.Symlink(tg.path("x4/x"), tg.path("gp4/src/x")))
+       cfg.BuildContext.GOPATH = tg.path("gp4")
 
-       path, err = modload.FindModulePath(tg.path("gp/src/x"))
+       path, err = modload.FindModulePath(tg.path("gp4/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
@@ -273,16 +274,15 @@ func TestModFindModulePath(t *testing.T) {
        // Empty dir inside GOPATH, GOPATH has symlink
        // GOPATH = gplink
        // gplink -> gp
-       tg.must(os.RemoveAll(tg.tempdir))
-       tg.must(os.MkdirAll(tg.path("gp/src/x"), 0777))
-       tg.must(os.Symlink(tg.path("gp"), tg.path("gplink")))
-       cfg.BuildContext.GOPATH = tg.path("gplink")
+       tg.must(os.MkdirAll(tg.path("gp5/src/x"), 0777))
+       tg.must(os.Symlink(tg.path("gp5"), tg.path("gplink5")))
+       cfg.BuildContext.GOPATH = tg.path("gplink5")
 
-       path, err = modload.FindModulePath(tg.path("gplink/src/x"))
+       path, err = modload.FindModulePath(tg.path("gplink5/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
-       path, err = modload.FindModulePath(tg.path("gp/src/x"))
+       path, err = modload.FindModulePath(tg.path("gp5/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
@@ -291,21 +291,20 @@ func TestModFindModulePath(t *testing.T) {
        // GOPATH = gplink
        // gplink -> gp
        // gplink2 -> gp
-       tg.must(os.RemoveAll(tg.tempdir))
-       tg.must(os.MkdirAll(tg.path("gp/src/x"), 0777))
-       tg.must(os.Symlink(tg.path("gp"), tg.path("gplink")))
-       tg.must(os.Symlink(tg.path("gp"), tg.path("gplink2")))
-       cfg.BuildContext.GOPATH = tg.path("gplink")
+       tg.must(os.MkdirAll(tg.path("gp6/src/x"), 0777))
+       tg.must(os.Symlink(tg.path("gp6"), tg.path("gplink6")))
+       tg.must(os.Symlink(tg.path("gp6"), tg.path("gplink62")))
+       cfg.BuildContext.GOPATH = tg.path("gplink6")
 
-       path, err = modload.FindModulePath(tg.path("gplink2/src/x"))
+       path, err = modload.FindModulePath(tg.path("gplink62/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
-       path, err = modload.FindModulePath(tg.path("gplink/src/x"))
+       path, err = modload.FindModulePath(tg.path("gplink6/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
-       path, err = modload.FindModulePath(tg.path("gp/src/x"))
+       path, err = modload.FindModulePath(tg.path("gp6/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
@@ -315,21 +314,20 @@ func TestModFindModulePath(t *testing.T) {
        // gplink -> gp
        // gplink2 -> gp
        // gp/src/x -> x/x
-       tg.must(os.RemoveAll(tg.tempdir))
-       tg.must(os.MkdirAll(tg.path("gp/src"), 0777))
-       tg.must(os.MkdirAll(tg.path("x/x"), 0777))
-       tg.must(os.Symlink(tg.path("gp"), tg.path("gplink")))
-       tg.must(os.Symlink(tg.path("gp"), tg.path("gplink2")))
-       tg.must(os.Symlink(tg.path("x/x"), tg.path("gp/src/x")))
-       cfg.BuildContext.GOPATH = tg.path("gplink")
-
-       path, err = modload.FindModulePath(tg.path("gplink/src/x"))
+       tg.must(os.MkdirAll(tg.path("gp7/src"), 0777))
+       tg.must(os.MkdirAll(tg.path("x7/x"), 0777))
+       tg.must(os.Symlink(tg.path("gp7"), tg.path("gplink7")))
+       tg.must(os.Symlink(tg.path("gp7"), tg.path("gplink72")))
+       tg.must(os.Symlink(tg.path("x7/x"), tg.path("gp7/src/x")))
+       cfg.BuildContext.GOPATH = tg.path("gplink7")
+
+       path, err = modload.FindModulePath(tg.path("gplink7/src/x"))
        if path != "x" || err != nil {
                t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        }
 
        // This test fails when /tmp -> /private/tmp.
-       // path, err = modload.FindModulePath(tg.path("gp/src/x"))
+       // path, err = modload.FindModulePath(tg.path("gp7/src/x"))
        // if path != "x" || err != nil {
        //      t.Fatalf("FindModulePath() = %q, %v, want %q, nil", path, err, "x")
        // }