summaryrefslogtreecommitdiff
path: root/tests/matrix
diff options
context:
space:
mode:
Diffstat (limited to 'tests/matrix')
-rw-r--r--tests/matrix/matrix_test.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/matrix/matrix_test.go b/tests/matrix/matrix_test.go
index ec4c092..6622213 100644
--- a/tests/matrix/matrix_test.go
+++ b/tests/matrix/matrix_test.go
@@ -19,6 +19,7 @@ import (
"math/rand"
"os"
"os/exec"
+ "path/filepath"
"runtime"
"sync"
"syscall"
@@ -882,3 +883,21 @@ func TestStatfs(t *testing.T) {
t.Errorf("statfs reports size zero: %#v", st)
}
}
+
+// gocryptfs 2.0 reported the ciphertext size on symlink creation, causing
+// confusion: https://github.com/rfjakob/gocryptfs/issues/574
+func TestSymlinkSize(t *testing.T) {
+ p := filepath.Join(test_helpers.DefaultPlainDir, t.Name())
+ // SYMLINK reports the size to the kernel
+ if err := syscall.Symlink("foo", p); err != nil {
+ t.Fatal(err)
+ }
+ // Kernel serves us this value from the attr cache
+ var st syscall.Stat_t
+ if err := syscall.Lstat(p, &st); err != nil {
+ t.Fatal(err)
+ }
+ if st.Size != 3 {
+ t.Errorf("wrong size: have %d, want %d", st.Size, 3)
+ }
+}