func ExampleMyFilesystem() { // Simply bootstrap your filesystem var fs vfs.Filesystem = MyFS() err := fs.Mkdir("/tmp", 0777) if err != nil { fatal("Error will be: Not implemented yet!") } }
func ExampleMyWrapper() { // Disable Mkdirs on the OS Filesystem var fs vfs.Filesystem = NoNewDirs(vfs.OS()) err := fs.Mkdir("/tmp", 0777) if err != nil { fatal("Mkdir disabled!") } }
func ExampleOsFS_myWrapper() { // Disable Mkdirs on the OS Filesystem var fs vfs.Filesystem = NoNewDirs(vfs.OS()) err := fs.Mkdir("/tmp", 0777) if err != nil { fmt.Printf("Mkdir disabled!\n") } }
func ExampleDummyFS() { // Simply bootstrap your filesystem var fs vfs.Filesystem = MyFS() // Your mkdir implementation fs.Mkdir("/tmp", 0777) // All necessary methods like OpenFile (therefor Create) are stubbed // and return the dummys error _, err := vfs.Create(fs, "/tmp/vfs/example.txt") if err != nil { fmt.Printf("Error will be: Not implemented yet!\n") } }
func Example() { // Create a vfs accessing the filesystem of the underlying OS var osfs vfs.Filesystem = vfs.OS() osfs.Mkdir("/tmp", 0777) // Make the filesystem read-only: osfs = vfs.ReadOnly(osfs) // Simply wrap filesystems to change its behaviour // os.O_CREATE will fail and return vfs.ErrReadOnly // os.O_RDWR is supported but Write(..) on the file is disabled f, _ := osfs.OpenFile("/tmp/example.txt", os.O_RDWR, 0) // Return vfs.ErrReadOnly _, err := f.Write([]byte("Write on readonly fs?")) if err != nil { fmt.Errorf("Filesystem is read only!\n") } // Create a fully writable filesystem in memory mfs := memfs.Create() mfs.Mkdir("/root", 0777) // Create a vfs supporting mounts // The root fs is accessing the filesystem of the underlying OS fs := mountfs.Create(osfs) // Mount a memfs inside /memfs // /memfs may not exist fs.Mount(mfs, "/memfs") // This will create /testdir inside the memfs fs.Mkdir("/memfs/testdir", 0777) // This would create /tmp/testdir inside your OS fs // But the rootfs `osfs` is read-only fs.Mkdir("/tmp/testdir", 0777) }
func TestInterface(t *testing.T) { var fs vfs.Filesystem fs = Create() fs.Mkdir("/tmp", 0777) }