mirror of https://github.com/spf13/afero.git
memmap: opening empty path should be an error
This commit is contained in:
parent
787d034dfe
commit
3d76d59b73
|
@ -73,7 +73,7 @@ func TestLstatIfPossible(t *testing.T) {
|
|||
}
|
||||
|
||||
testLstat := func(l Lstater, pathFile, pathSymlink string) {
|
||||
shouldLstat := pathSymlink != ""
|
||||
shouldLstat := pathSymlink != FilePathSeparator
|
||||
statRegular := checkLstat(l, pathFile, shouldLstat)
|
||||
statSymlink := checkLstat(l, pathSymlink, shouldLstat)
|
||||
if statRegular == nil || statSymlink == nil {
|
||||
|
@ -81,7 +81,7 @@ func TestLstatIfPossible(t *testing.T) {
|
|||
}
|
||||
|
||||
symSym := statSymlink.Mode()&os.ModeSymlink == os.ModeSymlink
|
||||
if symSym == (pathSymlink == "") {
|
||||
if symSym == (pathSymlink == FilePathSeparator) {
|
||||
t.Fatal("expected the FileInfo to describe the symlink")
|
||||
}
|
||||
|
||||
|
@ -95,8 +95,8 @@ func TestLstatIfPossible(t *testing.T) {
|
|||
testLstat(overlayFs1, pathFile, pathSymlink)
|
||||
testLstat(overlayFs2, pathFile, pathSymlink)
|
||||
testLstat(basePathFs, "afero.txt", "symafero.txt")
|
||||
testLstat(overlayFsMemOnly, pathFileMem, "")
|
||||
testLstat(basePathFsMem, "aferom.txt", "")
|
||||
testLstat(overlayFsMemOnly, pathFileMem, FilePathSeparator)
|
||||
testLstat(basePathFsMem, "aferom.txt", FilePathSeparator)
|
||||
testLstat(roFs, pathFile, pathSymlink)
|
||||
testLstat(roFsMem, pathFileMem, "")
|
||||
testLstat(roFsMem, pathFileMem, FilePathSeparator)
|
||||
}
|
||||
|
|
|
@ -159,6 +159,11 @@ func (m *MemMapFs) MkdirAll(path string, perm os.FileMode) error {
|
|||
|
||||
// Handle some relative paths
|
||||
func normalizePath(path string) string {
|
||||
// Cleaning an empty path would result in "."
|
||||
if path == "" {
|
||||
return path
|
||||
}
|
||||
|
||||
path = filepath.Clean(path)
|
||||
|
||||
switch path {
|
||||
|
|
|
@ -449,3 +449,13 @@ func TestMemFsUnexpectedEOF(t *testing.T) {
|
|||
t.Fatal("Expected ErrUnexpectedEOF")
|
||||
}
|
||||
}
|
||||
|
||||
func TestStatEmptyPath(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
fs := NewMemMapFs()
|
||||
|
||||
if _, err := fs.Stat(""); !os.IsNotExist(err) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue