diff options
Diffstat (limited to 'internal/fusefrontend')
| -rw-r--r-- | internal/fusefrontend/openbackingdir_test.go | 32 | ||||
| -rw-r--r-- | 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) +		} +	*/  } | 
