summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2016-06-04 14:57:01 +0200
committerJakob Unterwurzacher2016-06-04 15:23:43 +0200
commit72f8915843c5308336534d90286d2199c5d8932c (patch)
tree3a55ab5186c20111011341eb45a9db978852968f
parent2e2ee0a038fea2c010c9895c77e16e6b0116ea09 (diff)
tests: add v0.9 example filesystem with a 255-byte filename
gocryptfs v0.9 introduced long file names, so lets add an example filesystem that has that feature flag set. Operations on long file names are tested in the regular integration tests as well.
l---------integration_tests/example_filesystems/v0.9/00msNUi5h5aKMX_f-4pBhA==1
-rw-r--r--integration_tests/example_filesystems/v0.9/R83PhW-BBA_q4rPYD7dEMg==bin0 -> 60 bytes
-rw-r--r--integration_tests/example_filesystems/v0.9/gocryptfs.conf17
-rw-r--r--integration_tests/example_filesystems/v0.9/gocryptfs.diriv1
-rw-r--r--integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ=bin0 -> 60 bytes
-rw-r--r--integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ=.name1
l---------integration_tests/example_filesystems/v0.9/hwE1RKIXtF8hmQMvEXSTtg==1
-rw-r--r--integration_tests/example_filesystems_test.go46
8 files changed, 65 insertions, 2 deletions
diff --git a/integration_tests/example_filesystems/v0.9/00msNUi5h5aKMX_f-4pBhA== b/integration_tests/example_filesystems/v0.9/00msNUi5h5aKMX_f-4pBhA==
new file mode 120000
index 0000000..c717734
--- /dev/null
+++ b/integration_tests/example_filesystems/v0.9/00msNUi5h5aKMX_f-4pBhA==
@@ -0,0 +1 @@
+5nI119EbCRtgT8AwTDPmxCuORvbGV4xdtmqnur7KK9ufir-ALyneV7Iy \ No newline at end of file
diff --git a/integration_tests/example_filesystems/v0.9/R83PhW-BBA_q4rPYD7dEMg== b/integration_tests/example_filesystems/v0.9/R83PhW-BBA_q4rPYD7dEMg==
new file mode 100644
index 0000000..1bc4a81
--- /dev/null
+++ b/integration_tests/example_filesystems/v0.9/R83PhW-BBA_q4rPYD7dEMg==
Binary files differ
diff --git a/integration_tests/example_filesystems/v0.9/gocryptfs.conf b/integration_tests/example_filesystems/v0.9/gocryptfs.conf
new file mode 100644
index 0000000..4d9b089
--- /dev/null
+++ b/integration_tests/example_filesystems/v0.9/gocryptfs.conf
@@ -0,0 +1,17 @@
+{
+ "EncryptedKey": "sAB/dsiDbFBbMr7ppsB3Fu81hVr6BBxlcfY1wZYRHlRvRV2uwRdYAACNM39CDxLBHZuNjk9UyWh87McP",
+ "ScryptObject": {
+ "Salt": "3mphl9Hmhzd6exmc8Um0jOOCgR8hAYvbzbEpTnIEMPg=",
+ "N": 1024,
+ "R": 8,
+ "P": 1,
+ "KeyLen": 32
+ },
+ "Version": 2,
+ "FeatureFlags": [
+ "GCMIV128",
+ "DirIV",
+ "EMENames",
+ "LongNames"
+ ]
+} \ No newline at end of file
diff --git a/integration_tests/example_filesystems/v0.9/gocryptfs.diriv b/integration_tests/example_filesystems/v0.9/gocryptfs.diriv
new file mode 100644
index 0000000..47d97ee
--- /dev/null
+++ b/integration_tests/example_filesystems/v0.9/gocryptfs.diriv
@@ -0,0 +1 @@
+~HA|ԁ \ No newline at end of file
diff --git a/integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ= b/integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ=
new file mode 100644
index 0000000..78eb3ff
--- /dev/null
+++ b/integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ=
Binary files differ
diff --git a/integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ=.name b/integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ=.name
new file mode 100644
index 0000000..535cee7
--- /dev/null
+++ b/integration_tests/example_filesystems/v0.9/gocryptfs.longname.y4J-w3LBX165Mn_pGdDRY7Gb6EgHcTrdWjME3WGu-CQ=.name
@@ -0,0 +1 @@
+Py7wkyXYf1YXvFvHuizOqva6WWWYEQ-JYv1rOAvWWaARLyGdQdxuW-iBf1Vwd8orZjqkcIGgnxOfuRsarXKmn4-3L2MRIZKPhhx2QRqpPRtFylEABH1KwZ_2ZZnx5cpcO8TIoeVdL6NXnRw-WrT06zTUzVRioNPRLPa0J6c8_eb5QFb4EG5wPpn-XlJSedjAw31MUNvFxKYQku_UwJF0CvvXLCozVnNM_dDNWsgBevzB8VBySbfW7XgYMRPJRlJe3Pjeues9tyGJvAxGJVjfo4nZyWusMF2G4f9w06m3Bxjc7ladgJR6F6pyI4Z65DCIL7G6G2y__agmNcKtFwCS_Q== \ No newline at end of file
diff --git a/integration_tests/example_filesystems/v0.9/hwE1RKIXtF8hmQMvEXSTtg== b/integration_tests/example_filesystems/v0.9/hwE1RKIXtF8hmQMvEXSTtg==
new file mode 120000
index 0000000..4190a7e
--- /dev/null
+++ b/integration_tests/example_filesystems/v0.9/hwE1RKIXtF8hmQMvEXSTtg==
@@ -0,0 +1 @@
+XRx7Nqxt_zuPNo7h8_j1LLVzqzIZg9qAYGRN9Iuq3XBc11Y7_RoQsg== \ No newline at end of file
diff --git a/integration_tests/example_filesystems_test.go b/integration_tests/example_filesystems_test.go
index 3beca60..e3df950 100644
--- a/integration_tests/example_filesystems_test.go
+++ b/integration_tests/example_filesystems_test.go
@@ -11,8 +11,7 @@ import (
const statusTxtContent = "It works!\n"
-// checkStatusTxt - read file "filename" and verify that it contains
-// "It works!\n"
+// checkExampleFS - verify that "dir" contains the expected test files
func checkExampleFS(t *testing.T, dir string) {
// Read regular file
statusFile := filepath.Join(dir, "status.txt")
@@ -47,6 +46,27 @@ func checkExampleFS(t *testing.T, dir string) {
testMkdirRmdir(t, dir)
}
+// checkExampleFSLongnames - verify that "dir" contains the expected test files
+// plus the long file name test file
+func checkExampleFSLongnames(t *testing.T, dir string) {
+ // regular tests
+ checkExampleFS(t, dir)
+ // long name test file
+ longname := "longname_255_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
+ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
+ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
+ "xxxxxxxxxxxxxxxxxxxxxxxx"
+ contentBytes, err := ioutil.ReadFile(filepath.Join(dir, longname))
+ if err != nil {
+ t.Fatal(err)
+ }
+ content := string(contentBytes)
+ if content != statusTxtContent {
+ t.Errorf("longname_255: unexpected content: %s\n", content)
+ }
+
+}
+
// Test example_filesystems/v0.4
// with password mount and -masterkey mount
func TestExampleFSv04(t *testing.T) {
@@ -159,3 +179,25 @@ func TestExampleFSv07(t *testing.T) {
t.Error(err)
}
}
+
+// Test example_filesystems/v0.9
+// (gocryptfs v0.9 introduced long file name support)
+func TestExampleFSv09(t *testing.T) {
+ cDir := "example_filesystems/v0.9"
+ pDir := tmpDir + "TestExampleFsV09/"
+ err := os.Mkdir(pDir, 0777)
+ if err != nil {
+ t.Fatal(err)
+ }
+ mount(cDir, pDir, "-extpass", "echo test")
+ checkExampleFSLongnames(t, pDir)
+ unmount(pDir)
+ mount(cDir, pDir, "-masterkey", "1cafe3f4-bc316466-2214c47c-ecd89bf3-"+
+ "4e078fe4-f5faeea7-8b7cab02-884f5e1c")
+ checkExampleFSLongnames(t, pDir)
+ unmount(pDir)
+ err = os.Remove(pDir)
+ if err != nil {
+ t.Error(err)
+ }
+}