aboutsummaryrefslogtreecommitdiff
path: root/src/path/filepath
diff options
context:
space:
mode:
Diffstat (limited to 'src/path/filepath')
-rw-r--r--src/path/filepath/path_test.go5
-rw-r--r--src/path/filepath/path_windows.go6
2 files changed, 9 insertions, 2 deletions
diff --git a/src/path/filepath/path_test.go b/src/path/filepath/path_test.go
index 94f9c01459..921b23842b 100644
--- a/src/path/filepath/path_test.go
+++ b/src/path/filepath/path_test.go
@@ -1061,13 +1061,16 @@ var absTestDirs = []string{
var absTests = []string{
".",
"b",
+ "b/",
"../a",
"../a/b",
"../a/b/./c/../../.././a",
+ "../a/b/./c/../../.././a/",
"$",
"$/.",
"$/a/../a/b",
"$/a/b/c/../../.././a",
+ "$/a/b/c/../../.././a/",
}
func TestAbs(t *testing.T) {
@@ -1132,7 +1135,7 @@ func TestAbs(t *testing.T) {
if !filepath.IsAbs(abspath) {
t.Errorf("Abs(%q)=%q, not an absolute path", path, abspath)
}
- if filepath.IsAbs(path) && abspath != filepath.Clean(path) {
+ if filepath.IsAbs(abspath) && abspath != filepath.Clean(abspath) {
t.Errorf("Abs(%q)=%q, isn't clean", path, abspath)
}
}
diff --git a/src/path/filepath/path_windows.go b/src/path/filepath/path_windows.go
index a74b6469a9..359703de26 100644
--- a/src/path/filepath/path_windows.go
+++ b/src/path/filepath/path_windows.go
@@ -106,7 +106,11 @@ func splitList(path string) []string {
}
func abs(path string) (string, error) {
- return syscall.FullPath(path)
+ fullPath, err := syscall.FullPath(path)
+ if err != nil {
+ return "", err
+ }
+ return Clean(fullPath), nil
}
func join(elem []string) string {