package fuse_test import ( "io/ioutil" "os" "testing" "golang.org/x/net/context" "github.com/jacobsa/fuse" "github.com/jacobsa/fuse/fuseutil" ) //////////////////////////////////////////////////////////////////////// // minimalFS //////////////////////////////////////////////////////////////////////// // A minimal fuseutil.FileSystem that can successfully mount but do nothing // else. type minimalFS struct { fuseutil.NotImplementedFileSystem } //////////////////////////////////////////////////////////////////////// // Tests //////////////////////////////////////////////////////////////////////// func TestSuccessfulMount(t *testing.T) { ctx := context.Background() // Set up a temporary directory. dir, err := ioutil.TempDir("", "mount_test") if err != nil { t.Fatal("ioutil.TempDir: %v", err) } defer os.RemoveAll(dir) // Mount. fs := &minimalFS{} mfs, err := fuse.Mount( dir, fuseutil.NewFileSystemServer(fs), &fuse.MountConfig{}) if err != nil { t.Fatalf("fuse.Mount: %v", err) } defer func() { if err := mfs.Join(ctx); err != nil { t.Errorf("Joining: %v", err) } }() defer fuse.Unmount(mfs.Dir()) } func TestNonEmptyMountPoint(t *testing.T) { t.Fatal("TODO") }