Revert "go/buildutil, cmd/guru: fix tests for symlinks in guru and gorename to account for windows." 

Reason: ContainingPackage must do all I/O through build.Context.

This reverts commit c945ee3be47cb14cbc5e48ff0572d967d772d8b9.

Change-Id: I625410bc754ea2d150be097bf424de2be42acde4
Reviewed-on: https://go-review.googlesource.com/33921
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/cmd/guru/unit_test.go b/cmd/guru/unit_test.go
index 588cb43..45678ff 100644
--- a/cmd/guru/unit_test.go
+++ b/cmd/guru/unit_test.go
@@ -9,7 +9,6 @@
 	"go/build"
 	"io/ioutil"
 	"os"
-	"runtime"
 	"strings"
 	"testing"
 )
@@ -36,34 +35,25 @@
 		t.Fatal(err)
 	}
 
+	// symlink between /tmp/home/go/src and /tmp/home/src
+	if err = os.Symlink(home+"/go/src", home+"/src"); err != nil {
+		t.Fatal(err)
+	}
+
+	// Defer tear down (removing files, symlinks)
 	defer os.RemoveAll(home)
 
 	var buildContext = build.Default
 
 	// Success test cases
-	type SuccessTest struct {
+	for _, test := range []struct {
 		gopath, filename, wantSrcdir string
-	}
-
-	successTests := []SuccessTest{
+	}{
 		{home + "/go", home + "/go/src/test/test.go", home + "/go/src"},
-	}
-
-	// Add symlink cases if not on windows
-	if runtime.GOOS != "windows" {
-		// symlink between /tmp/home/go/src and /tmp/home/src
-		if err := os.Symlink(home+"/go/src", home+"/src"); err != nil {
-			t.Fatal(err)
-		}
-
-		successTests = append(successTests, []SuccessTest{
-			{home + "/go", home + "/src/test/test.go", home + "/go/src"},
-			{home, home + "/go/src/test/test.go", home + "/src"},
-			{home, home + "/src/test/test.go", home + "/src"},
-		}...)
-	}
-
-	for _, test := range successTests {
+		{home + "/go", home + "/src/test/test.go", home + "/go/src"},
+		{home, home + "/src/test/test.go", home + "/src"},
+		{home, home + "/go/src/test/test.go", home + "/src"},
+	} {
 		buildContext.GOPATH = test.gopath
 		srcdir, importPath, err := guessImportPath(test.filename, &buildContext)
 		if srcdir != test.wantSrcdir || importPath != "test" || err != nil {
@@ -77,23 +67,14 @@
 	}
 
 	// Failure test cases
-	type FailTest struct {
+	for _, test := range []struct {
 		gopath, filename, wantErr string
-	}
-
-	failTests := []FailTest{
+	}{
 		{home + "/go", home + "/go/src/fake/test.go", errFormat(home + "/go/src/fake")},
-	}
-
-	if runtime.GOOS != "windows" {
-		failTests = append(failTests, []FailTest{
-			{home + "/go", home + "/src/fake/test.go", errFormat(home + "/src/fake")},
-			{home, home + "/src/fake/test.go", errFormat(home + "/src/fake")},
-			{home, home + "/go/src/fake/test.go", errFormat(home + "/go/src/fake")},
-		}...)
-	}
-
-	for _, test := range failTests {
+		{home + "/go", home + "/src/fake/test.go", errFormat(home + "/src/fake")},
+		{home, home + "/src/fake/test.go", errFormat(home + "/src/fake")},
+		{home, home + "/go/src/fake/test.go", errFormat(home + "/go/src/fake")},
+	} {
 		buildContext.GOPATH = test.gopath
 		srcdir, importPath, err := guessImportPath(test.filename, &buildContext)
 		if !strings.HasPrefix(fmt.Sprint(err), test.wantErr) {
diff --git a/go/buildutil/util.go b/go/buildutil/util.go
index 111989e..c2d2843 100644
--- a/go/buildutil/util.go
+++ b/go/buildutil/util.go
@@ -68,7 +68,7 @@
 
 	resolvedFilename, err := filepath.EvalSymlinks(filepath.Dir(filename))
 	if err != nil {
-		return nil, fmt.Errorf("can't evaluate symlinks of %s: %v", filepath.Dir(filename), err)
+		return nil, fmt.Errorf("can't evaluate symlinks of %s: %v", path.Dir(filename), err)
 	}
 
 	resolvedDir := filepath.ToSlash(resolvedFilename)
diff --git a/go/buildutil/util_test.go b/go/buildutil/util_test.go
index efea63c..148214d 100644
--- a/go/buildutil/util_test.go
+++ b/go/buildutil/util_test.go
@@ -24,40 +24,35 @@
 	goroot := runtime.GOROOT()
 	gopath := filepath.SplitList(os.Getenv("GOPATH"))[0]
 
-	type Test struct {
-		gopath, filename, wantPkg string
+	// Make a symlink to gopath for test
+	tmp, err := ioutil.TempDir(os.TempDir(), "go")
+	if err != nil {
+		t.Errorf("Unable to create a temporary directory in %s", os.TempDir())
 	}
 
-	tests := []Test{
+	// symlink between $GOPATH/src and /tmp/go/src
+	// in order to test all possible symlink cases
+	if err := os.Symlink(gopath+"/src", tmp+"/src"); err != nil {
+		t.Fatal(err)
+	}
+
+	defer os.RemoveAll(tmp)
+
+	for _, test := range []struct {
+		gopath, filename, wantPkg string
+	}{
 		{gopath, goroot + "/src/fmt/print.go", "fmt"},
 		{gopath, goroot + "/src/encoding/json/foo.go", "encoding/json"},
 		{gopath, goroot + "/src/encoding/missing/foo.go", "(not found)"},
 		{gopath, gopath + "/src/golang.org/x/tools/go/buildutil/util_test.go",
 			"golang.org/x/tools/go/buildutil"},
-	}
-
-	if runtime.GOOS != "windows" {
-		// Make a symlink to gopath for test
-		tmp, err := ioutil.TempDir(os.TempDir(), "go")
-		if err != nil {
-			t.Errorf("Unable to create a temporary directory in %s", os.TempDir())
-		}
-
-		defer os.RemoveAll(tmp)
-
-		// symlink between $GOPATH/src and /tmp/go/src
-		// in order to test all possible symlink cases
-		if err := os.Symlink(gopath+"/src", tmp+"/src"); err != nil {
-			t.Fatal(err)
-		}
-		tests = append(tests, []Test{
-			{gopath, tmp + "/src/golang.org/x/tools/go/buildutil/util_test.go", "golang.org/x/tools/go/buildutil"},
-			{tmp, gopath + "/src/golang.org/x/tools/go/buildutil/util_test.go", "golang.org/x/tools/go/buildutil"},
-			{tmp, tmp + "/src/golang.org/x/tools/go/buildutil/util_test.go", "golang.org/x/tools/go/buildutil"},
-		}...)
-	}
-
-	for _, test := range tests {
+		{gopath, tmp + "/src/golang.org/x/tools/go/buildutil/util_test.go",
+			"golang.org/x/tools/go/buildutil"},
+		{tmp, gopath + "/src/golang.org/x/tools/go/buildutil/util_test.go",
+			"golang.org/x/tools/go/buildutil"},
+		{tmp, tmp + "/src/golang.org/x/tools/go/buildutil/util_test.go",
+			"golang.org/x/tools/go/buildutil"},
+	} {
 		var got string
 		var buildContext = build.Default
 		buildContext.GOPATH = test.gopath