From b0342fae5d89301992d87f4305df71da502300ba Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sat, 11 Jul 2020 20:15:47 +0200 Subject: [PATCH] v2api: fix TestOpenBackingDir --- internal/fusefrontend/openbackingdir_test.go | 32 ++++++++++-------- internal/fusefrontend/xattr_unit_test.go | 35 ++++++++++++++------ 2 files changed, 42 insertions(+), 25 deletions(-) diff --git a/internal/fusefrontend/openbackingdir_test.go b/internal/fusefrontend/openbackingdir_test.go index 82cc74d..48c20d6 100644 --- a/internal/fusefrontend/openbackingdir_test.go +++ b/internal/fusefrontend/openbackingdir_test.go @@ -7,6 +7,8 @@ import ( "golang.org/x/sys/unix" + "github.com/hanwen/go-fuse/v2/fuse" + "github.com/rfjakob/gocryptfs/internal/syscallcompat" "github.com/rfjakob/gocryptfs/tests/test_helpers" ) @@ -17,14 +19,15 @@ func TestOpenBackingDir(t *testing.T) { Cipherdir: cipherdir, } fs := newTestFS(args) + out := &fuse.EntryOut{} - code := fs.Mkdir("dir1", 0700, nil) - if !code.Ok() { - t.Fatal(code) + _, errno := fs.Mkdir(nil, "dir1", 0700, out) + if errno != 0 { + t.Fatal(errno) } - code = fs.Mkdir("dir1/dir2", 0700, nil) - if !code.Ok() { - t.Fatal(code) + _, errno = fs.Mkdir(nil, "dir1/dir2", 0700, out) + if errno != 0 { + t.Fatal(errno) } dirfd, cName, err := fs.openBackingDir("") @@ -37,7 +40,7 @@ func TestOpenBackingDir(t *testing.T) { syscall.Close(dirfd) // Again, but populate the cache for "" by looking up a non-existing file - fs.GetAttr("xyz1234", nil) + fs.Getattr(nil, "xyz1234", &fuse.AttrOut{}) dirfd, cName, err = fs.openBackingDir("") if err != nil { t.Fatal(err) @@ -84,7 +87,7 @@ func TestOpenBackingDir(t *testing.T) { n255 := strings.Repeat("n", 255) path := "dir1/" + n255 - fs.Mkdir(path, 0700, nil) + fs.Mkdir(nil, path, 0700, out) dirfd, cName, err = fs.openBackingDir(path) if err != nil { t.Fatal(err) @@ -109,14 +112,15 @@ func TestOpenBackingDirPlaintextNames(t *testing.T) { PlaintextNames: true, } fs := newTestFS(args) + out := &fuse.EntryOut{} - code := fs.Mkdir("dir1", 0700, nil) - if !code.Ok() { - t.Fatal(code) + _, errno := fs.Mkdir(nil, "dir1", 0700, out) + if errno != 0 { + t.Fatal(errno) } - code = fs.Mkdir("dir1/dir2", 0700, nil) - if !code.Ok() { - t.Fatal(code) + _, errno = fs.Mkdir(nil, "dir1/dir2", 0700, out) + if errno != 0 { + t.Fatal(errno) } dirfd, cName, err := fs.openBackingDir("") diff --git a/internal/fusefrontend/xattr_unit_test.go b/internal/fusefrontend/xattr_unit_test.go index b43aeb7..0a5e14a 100644 --- a/internal/fusefrontend/xattr_unit_test.go +++ b/internal/fusefrontend/xattr_unit_test.go @@ -5,28 +5,41 @@ package fusefrontend import ( "testing" + "time" + + "github.com/hanwen/go-fuse/v2/fs" "github.com/rfjakob/gocryptfs/internal/contentenc" "github.com/rfjakob/gocryptfs/internal/cryptocore" "github.com/rfjakob/gocryptfs/internal/nametransform" ) -func newTestFS(args Args) *FS { +func newTestFS(args Args) *RootNode { // Init crypto backend key := make([]byte, cryptocore.KeyLen) cCore := cryptocore.New(key, cryptocore.BackendGoGCM, contentenc.DefaultIVBits, true, false) cEnc := contentenc.New(cCore, contentenc.DefaultBS, false) - nameTransform := nametransform.New(cCore.EMECipher, true, true) - return NewFS(args, cEnc, nameTransform) + n := nametransform.New(cCore.EMECipher, true, true) + rn := NewRootNode(args, cEnc, n) + oneSec := time.Second + options := &fs.Options{ + EntryTimeout: &oneSec, + AttrTimeout: &oneSec, + } + fs.NewNodeFS(rn, options) + return rn } func TestEncryptDecryptXattrName(t *testing.T) { - fs := newTestFS(Args{}) - attr1 := "user.foo123456789" - cAttr := fs.encryptXattrName(attr1) - t.Logf("cAttr=%v", cAttr) - attr2, err := fs.decryptXattrName(cAttr) - if attr1 != attr2 || err != nil { - t.Fatalf("Decrypt mismatch: %v != %v", attr1, attr2) - } + t.Fatal("not yet implemented") + /* + fs := newTestFS(Args{}) + attr1 := "user.foo123456789" + cAttr := fs.encryptXattrName(attr1) + t.Logf("cAttr=%v", cAttr) + attr2, err := fs.decryptXattrName(cAttr) + if attr1 != attr2 || err != nil { + t.Fatalf("Decrypt mismatch: %v != %v", attr1, attr2) + } + */ }