]> Sergey Matveev's repositories - btrtrc.git/commitdiff
No longer require FUSE to run fs test
authorMatt Joiner <anacrolix@gmail.com>
Thu, 20 Nov 2014 18:50:53 +0000 (12:50 -0600)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 20 Nov 2014 18:50:53 +0000 (12:50 -0600)
fs/torrentfs.go
fs/torrentfs_test.go

index ed5e5b2c69c77a8f98316af923ac5cb59ca4e545..18012d8960cc22e6124918fa71ad8e7b4ba1fa1c 100644 (file)
@@ -149,8 +149,7 @@ type dirNode struct {
 
 var (
        _ fusefs.HandleReadDirer = dirNode{}
-
-       _ fusefs.HandleReader = fileNode{}
+       _ fusefs.HandleReader    = fileNode{}
 )
 
 func isSubPath(parent, child []string) bool {
index ba8b5a483779fd671e95ff0b3ad72ee69b74c88d..2b4d43cc802d8f791ed7bbd22cff21248de88ea0 100644 (file)
@@ -180,38 +180,17 @@ func TestDownloadOnDemand(t *testing.T) {
                }
        }()})
        fs := New(leecher)
-       mountDir := layout.MountDir
-       fuseConn, err := fuse.Mount(layout.MountDir)
-       if err != nil {
-               t.Fatal(err)
-       }
-       defer func() {
-               if err := fuse.Unmount(mountDir); err != nil {
-                       t.Fatal(err)
-               }
-       }()
-       go func() {
-               if err := fusefs.Serve(fuseConn, fs); err != nil {
-                       t.Fatal(err)
-               }
-               if err := fuseConn.Close(); err != nil {
-                       t.Fatal(err)
-               }
-       }()
-       <-fuseConn.Ready
-       if fuseConn.MountError != nil {
-               t.Fatal(fuseConn.MountError)
-       }
-       go func() {
-               time.Sleep(10 * time.Second)
-               if err := fuse.Unmount(mountDir); err != nil {
-                       t.Log(err)
-               }
-       }()
-       content, err := ioutil.ReadFile(filepath.Join(mountDir, "greeting"))
-       if err != nil {
-               t.Fatal(err)
-       }
+       defer fs.Destroy()
+       root, _ := fs.Root()
+       node, _ := root.(fusefs.NodeStringLookuper).Lookup("greeting", nil)
+       size := int(node.Attr().Size)
+       resp := &fuse.ReadResponse{
+               Data: make([]byte, size),
+       }
+       node.(fusefs.HandleReader).Read(&fuse.ReadRequest{
+               Size: size,
+       }, resp, nil)
+       content := resp.Data
        if string(content) != testutil.GreetingFileContents {
                t.FailNow()
        }