mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-22 14:57:01 +00:00
* Ensure 'not exist' errors wrap os.ErrNotExist * Update go.sum * Use an error type to avoid changing the error's string
41 lines
1.4 KiB
Go
41 lines
1.4 KiB
Go
package filesys
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/pkg/errors"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
var filesysBuilders = map[string]func() FileSystem{
|
|
"MakeFsInMemory": MakeFsInMemory,
|
|
"MakeFsOnDisk": MakeFsOnDisk,
|
|
"MakeEmptyDirInMemory": func() FileSystem { return MakeEmptyDirInMemory() },
|
|
}
|
|
|
|
func TestNotExistErr(t *testing.T) {
|
|
for name, builder := range filesysBuilders {
|
|
t.Run(name, func(t *testing.T) {
|
|
testNotExistErr(t, builder())
|
|
})
|
|
}
|
|
}
|
|
|
|
func testNotExistErr(t *testing.T, fs FileSystem) {
|
|
const path = "bad-dir/file.txt"
|
|
|
|
err := fs.RemoveAll(path)
|
|
assert.Falsef(t, errors.Is(err, os.ErrNotExist), "RemoveAll should not return ErrNotExist, got %v", err)
|
|
_, err = fs.Open(path)
|
|
assert.Truef(t, errors.Is(err, os.ErrNotExist), "Open should return ErrNotExist, got %v", err)
|
|
_, err = fs.ReadDir(path)
|
|
assert.Truef(t, errors.Is(err, os.ErrNotExist), "ReadDir should return ErrNotExist, got %v", err)
|
|
_, _, err = fs.CleanedAbs(path)
|
|
assert.Truef(t, errors.Is(err, os.ErrNotExist), "CleanedAbs should return ErrNotExist, got %v", err)
|
|
_, err = fs.ReadFile(path)
|
|
assert.Truef(t, errors.Is(err, os.ErrNotExist), "ReadFile should return ErrNotExist, got %v", err)
|
|
err = fs.Walk(path, func(_ string, _ os.FileInfo, err error) error { return err })
|
|
assert.Truef(t, errors.Is(err, os.ErrNotExist), "Walk should return ErrNotExist, got %v", err)
|
|
}
|