aboutsummaryrefslogtreecommitdiff
path: root/internal/fusefrontend
diff options
context:
space:
mode:
Diffstat (limited to 'internal/fusefrontend')
-rw-r--r--internal/fusefrontend/openbackingdir_test.go32
-rw-r--r--internal/fusefrontend/xattr_unit_test.go35
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)
+ }
+ */
}