v2api: fix TestOpenBackingDir
This commit is contained in:
parent
7de3330d70
commit
b0342fae5d
@ -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("")
|
||||
|
@ -5,22 +5,34 @@ 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) {
|
||||
t.Fatal("not yet implemented")
|
||||
/*
|
||||
fs := newTestFS(Args{})
|
||||
attr1 := "user.foo123456789"
|
||||
cAttr := fs.encryptXattrName(attr1)
|
||||
@ -29,4 +41,5 @@ func TestEncryptDecryptXattrName(t *testing.T) {
|
||||
if attr1 != attr2 || err != nil {
|
||||
t.Fatalf("Decrypt mismatch: %v != %v", attr1, attr2)
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user