github.com/kubeshop/testkube@v1.17.23/pkg/filesystem/os_filesystem.go (about) 1 package filesystem 2 3 import ( 4 "bufio" 5 "os" 6 "path/filepath" 7 ) 8 9 type OSFileSystem struct{} 10 11 func NewOSFileSystem() *OSFileSystem { 12 return &OSFileSystem{} 13 } 14 15 func (s *OSFileSystem) Stat(name string) (os.FileInfo, error) { 16 return os.Stat(name) 17 } 18 19 func (s *OSFileSystem) Walk(root string, walkFn filepath.WalkFunc) error { 20 return filepath.Walk(root, walkFn) 21 } 22 23 func (s *OSFileSystem) OpenFile(name string, flag int, perm os.FileMode) (*os.File, error) { 24 return os.OpenFile(name, flag, perm) 25 } 26 27 func (s *OSFileSystem) OpenFileRO(name string) (*os.File, error) { 28 return os.Open(name) 29 } 30 31 func (s *OSFileSystem) OpenFileBuffered(name string) (*bufio.Reader, error) { 32 f, err := os.Open(name) 33 if err != nil { 34 return nil, err 35 } 36 37 return bufio.NewReader(f), nil 38 } 39 40 func (s *OSFileSystem) ReadDir(dirname string) ([]os.DirEntry, error) { 41 return os.ReadDir(dirname) 42 } 43 44 func (s *OSFileSystem) Getwd() (string, error) { 45 return os.Getwd() 46 } 47 48 func (s *OSFileSystem) ReadFile(filename string) ([]byte, error) { 49 return os.ReadFile(filename) 50 } 51 52 var _ FileSystem = (*OSFileSystem)(nil)