func main() { flag.Usage = Usage flag.Parse() if flag.NArg() != 1 { Usage() os.Exit(2) } mountpoint := flag.Arg(0) c, err := fuse.Mount( mountpoint, fuse.FSName("helloworld"), fuse.Subtype("hellofs"), fuse.LocalVolume(), fuse.VolumeName("Hello world!"), ) if err != nil { log.Fatal(err) } defer c.Close() err = fs.Serve(c, FS{}) if err != nil { log.Fatal(err) } // check if the mount process has an error to report <-c.Ready if err := c.MountError; err != nil { log.Fatal(err) } }
func TestMountOptionCommaError(t *testing.T) { t.Parallel() // this test is not tied to FSName, but needs just some option // with string content var name = "FuseTest,Marker" mnt, err := fstestutil.MountedT(t, fstestutil.SimpleFS{fstestutil.Dir{}}, fuse.FSName(name), ) switch { case err == nil: mnt.Close() t.Fatal("expected an error about commas") case err.Error() == `mount options cannot contain commas on OS X: "fsname"="FuseTest,Marker"`: // all good default: t.Fatalf("expected an error about commas, got: %v", err) } }
func testMountOptionFSNameEvil(t *testing.T, evil string) { t.Parallel() var name = "FuseTest" + evil + "Marker" mnt, err := fstestutil.MountedT(t, fstestutil.SimpleFS{fstestutil.Dir{}}, fuse.FSName(name), ) if err != nil { t.Fatal(err) } defer mnt.Close() info, err := fstestutil.GetMountInfo(mnt.Dir) if err != nil { t.Fatal(err) } if g, e := info.FSName, name; g != e { t.Errorf("wrong FSName: %q != %q", g, e) } }