From cf13bd3fab523931c3555c82c3d2fe896d2935c9 Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Tue, 27 Mar 2012 12:56:56 +1100 Subject: path/filepath: convert drive letter to upper case in windows EvalSymlinks Fixes #3347. R=golang-dev, aram, r, rsc CC=golang-dev https://golang.org/cl/5918043 --- src/pkg/path/filepath/path_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/pkg/path/filepath/path_test.go') diff --git a/src/pkg/path/filepath/path_test.go b/src/pkg/path/filepath/path_test.go index 2aba553d23..b8766588cf 100644 --- a/src/pkg/path/filepath/path_test.go +++ b/src/pkg/path/filepath/path_test.go @@ -846,3 +846,26 @@ func TestVolumeName(t *testing.T) { } } } + +func TestDriveLetterInEvalSymlinks(t *testing.T) { + if runtime.GOOS != "windows" { + return + } + wd, _ := os.Getwd() + if len(wd) < 3 { + t.Errorf("Current directory path %q is too short", wd) + } + lp := strings.ToLower(wd) + up := strings.ToUpper(wd) + flp, err := filepath.EvalSymlinks(lp) + if err != nil { + t.Fatalf("EvalSymlinks(%q) failed: %q", lp, err) + } + fup, err := filepath.EvalSymlinks(up) + if err != nil { + t.Fatalf("EvalSymlinks(%q) failed: %q", up, err) + } + if flp != fup { + t.Errorf("Results of EvalSymlinks do not match: %q and %q", flp, fup) + } +} -- cgit v1.3