summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2019-10-06stress_tests: use /var/tmp by defaultJakob Unterwurzacher
There is a good chance that /tmp is tmpfs, and we want to run our tests on a real filesystem.
2019-10-06tests: use /var/tmp by defaultJakob Unterwurzacher
On Fedora, /tmp is tmpfs, which behaves differently than ext4 (inode numbers are never reused, for example). Use /var/tmp, which is ext4 on Fedora, to get a more realistic test environment. This also allows us to drop the xattr workaround.
2019-10-06tests: filter leaked fds by prefixJakob Unterwurzacher
When running $ go test ./tests/matrix/ in isolation, it failed like this: fd leak? before, after: [0r=/dev/null 3w=/dev/null 5r=/proc/8078/fd (hidden:4)] [0r=/dev/null 3w=/dev/null 5w=/tmp/go-build366655199/b001/testlog.txt 7r=/proc/8078/fd (hidden:4)] Filter by prefix to get rid of this spurious test failure.
2019-10-06tests: clarify which process seems to be leaking fdsJakob Unterwurzacher
The tests check if they leak fds themselves, but we also check if gocryptfs leaks fds. Clarify what is what in the error message.
2019-09-08tests: add TestNotIdleJakob Unterwurzacher
Mount with idle timeout of 100ms read something every 10ms. The fs should NOT get unmounted. Regression test for https://github.com/rfjakob/gocryptfs/issues/421
2019-09-08test_helpers: ListFds: handle an exited process gracefullyJakob Unterwurzacher
This used to dump a backtrace to the console which obscured what is going on.
2019-09-01tests: matrix: test -serialize_readsJakob Unterwurzacher
Test if https://github.com/rfjakob/gocryptfs/pull/413 works as intended.
2019-05-13-passwd now takes a passed -scryptn flag into accountJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/400
2019-05-01tests: root_test: also test file creationJakob Unterwurzacher
2019-05-01tests: fix root_test permission issuesJakob Unterwurzacher
The parent directories need execute all permissions.
2019-05-01tests: add root_tests (tests that must run as root)Jakob Unterwurzacher
First test is a reproducer for https://github.com/rfjakob/gocryptfs/issues/394 "Group permissions: No write access"
2019-05-01tests: split testParentDir by UIDJakob Unterwurzacher
When we run tests as root, they will leave root-owned files in testParentDir, which causes trouble when we run tests as a normal user later on. Split by UID.
2019-05-01test_helpers: better function comments for InitFS and MountJakob Unterwurzacher
It's confusing that you must pass "-extpass" for Mount but not for InitFS. Note that in the comment.
2019-04-10Add CodeLingo Tenet to fix missing close fileleilaes
2019-04-08tests: speed up new tests a littleJakob Unterwurzacher
Before: ok github.com/rfjakob/gocryptfs/tests/matrix 18.560s After: ok github.com/rfjakob/gocryptfs/tests/matrix 13.425s
2019-04-08tests: add TestConcurrentReadCreate, move to new fileJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/363
2019-04-08tests: add TestConcurrentReadWriteJakob Unterwurzacher
Another attempt to find out what is going on behind https://github.com/rfjakob/gocryptfs/issues/363
2019-04-08tests: add additional TestWrite10Tight testJakob Unterwurzacher
Try to find out what goes wrong in https://github.com/rfjakob/gocryptfs/issues/363
2019-04-08readpassword: delete CheckTrailingGarbageJakob Unterwurzacher
CheckTrailingGarbage was called even when "-passfile" was used, which is stupid, and causes false positives: https://github.com/rfjakob/gocryptfs/issues/391 (false error "Received trailing garbage after the password" when using -passfile in .bash_profile) Instead of trying to improve the logic to handle that case and make everything even more complicated, delete the function. It is unclear if actually helps in some cases, and it definitely harms as shown by the above bug report.
2019-03-31Allow "nofail" for /etc/fstab useJakob Unterwurzacher
2019-03-30forward mode: create gocryptfs.diriv files with 0440 permissionsJakob Unterwurzacher
Makes it easier to share an encrypted folder via a network drive. https://github.com/rfjakob/gocryptfs/issues/387
2019-03-26reverse mode: support wildcard exclude (--exclude-wildcard)Eduardo M KALINOWSKI
This adds support for gitignore-like wildcards and exclude patters in reverse mode. It (somewhat) fixes #273: no regexp support, but the syntax should be powerful enough to satisfy most needs. Also, since adding a lot of --exclude options can be tedious, it adds the --exclude-from option to read patterns from a file (or files).
2019-03-03tests: fix data race in TestDirIVRaceJakob Unterwurzacher
Ironically, the test for DirIV races had a data race itself by writing to a bool without taking a lock. Found by running "./test.bash -race": WARNING: DATA RACE Write at 0x00c00001dea5 by goroutine 22: github.com/rfjakob/gocryptfs/tests/defaults.TestDirIVRace.func1() /home/jakob/go/src/github.com/rfjakob/gocryptfs/tests/defaults/diriv_test.go:39 +0x38 github.com/rfjakob/gocryptfs/tests/defaults.TestDirIVRace() /home/jakob/go/src/github.com/rfjakob/gocryptfs/tests/defaults/diriv_test.go:73 +0x65c testing.tRunner() /usr/local/go/src/testing/testing.go:865 +0x163 Previous read at 0x00c00001dea5 by goroutine 23: github.com/rfjakob/gocryptfs/tests/defaults.TestDirIVRace.func2() /home/jakob/go/src/github.com/rfjakob/gocryptfs/tests/defaults/diriv_test.go:51 +0x8b Goroutine 22 (running) created at: testing.(*T).Run() /usr/local/go/src/testing/testing.go:916 +0x699 testing.runTests.func1() /usr/local/go/src/testing/testing.go:1157 +0xa8 testing.tRunner() /usr/local/go/src/testing/testing.go:865 +0x163 testing.runTests() /usr/local/go/src/testing/testing.go:1155 +0x523 testing.(*M).Run() /usr/local/go/src/testing/testing.go:1072 +0x2eb github.com/rfjakob/gocryptfs/tests/defaults.TestMain() /home/jakob/go/src/github.com/rfjakob/gocryptfs/tests/defaults/main_test.go:21 +0xe1 main.main() _testmain.go:76 +0x222 Goroutine 23 (running) created at: github.com/rfjakob/gocryptfs/tests/defaults.TestDirIVRace() /home/jakob/go/src/github.com/rfjakob/gocryptfs/tests/defaults/diriv_test.go:43 +0x48d testing.tRunner() /usr/local/go/src/testing/testing.go:865 +0x163 ================== --- FAIL: TestDirIVRace (0.00s) testing.go:809: race detected during execution of test FAIL
2019-02-17tests: fix compile error in matrix_test.goJakob Unterwurzacher
Error was: tests/matrix/matrix_test.go:101:9: no new variables on left side of :=
2019-02-17ParseHeader: print hexdump on errorJakob Unterwurzacher
Should help debugging https://github.com/rfjakob/gocryptfs/issues/363
2019-02-17nametransform: reject names longer than 255 charsJakob Unterwurzacher
Looks like we allowed creating longer names by accident. Fix that, and add a test that verifies it.
2019-02-17test: len2elen.sh: fix first line outputJakob Unterwurzacher
2019-02-17tests: add len2elen.shJakob Unterwurzacher
Check plaintext file name length -> encrypted file name length relation Example output: 0 22 2 22 3 22 4 22 5 22 6 22 7 22 8 22 9 22 10 22 11 22 12 22 13 22 14 22 15 22 16 43 17 43 18 43 19 43 20 43 21 43 22 43 23 43 24 43 25 43 26 43 27 43 28 43 29 43 30 43 31 43 32 64 33 64 34 64 35 64 36 64 37 64 38 64 39 64 40 64 41 64 42 64 43 64 44 64 45 64 46 64 47 64 48 86 49 86 50 86 51 86 52 86 53 86 54 86 55 86 56 86 57 86 58 86 59 86 60 86 61 86 62 86 63 86 64 107 65 107 66 107 67 107 68 107 69 107 70 107 71 107 72 107 73 107 74 107 75 107 76 107 77 107 78 107 79 107 80 128 81 128 82 128 83 128 84 128 85 128 86 128 87 128 88 128 89 128 90 128 91 128 92 128 93 128 94 128 95 128 96 150 97 150 98 150 99 150 100 150 101 150 102 150 103 150 104 150 105 150 106 150 107 150 108 150 109 150 110 150 111 150 112 171 113 171 114 171 115 171 116 171 117 171 118 171 119 171 120 171 121 171 122 171 123 171 124 171 125 171 126 171 127 171 128 192 129 192 130 192 131 192 132 192 133 192 134 192 135 192 136 192 137 192 138 192 139 192 140 192 141 192 142 192 143 192 144 214 145 214 146 214 147 214 148 214 149 214 150 214 151 214 152 214 153 214 154 214 155 214 156 214 157 214 158 214 159 214 160 235 161 235 162 235 163 235 164 235 165 235 166 235 167 235 168 235 169 235 170 235 171 235 172 235 173 235 174 235 175 235 176 67 177 67 178 67 179 67 180 67 181 67 182 67 183 67 184 67 185 67 186 67 187 67 188 67 189 67 190 67 191 67 192 67 193 67 194 67 195 67 196 67 197 67 198 67 199 67 200 67 201 67 202 67 203 67 204 67 205 67 206 67 207 67 208 67 209 67 210 67 211 67 212 67 213 67 214 67 215 67 216 67 217 67 218 67 219 67 220 67 221 67 222 67 223 67 224 67 225 67 226 67 227 67 228 67 229 67 230 67 231 67 232 67 233 67 234 67 235 67 236 67 237 67 238 67 239 67 240 67 241 67 242 67 243 67 244 67 245 67 246 67 247 67 248 67 249 67 250 67 251 67 252 67 253 67 254 67 255 67
2019-02-17tests: parallel_cp.sh: automount fsJakob Unterwurzacher
Teach the script to automatically mount and unmount.
2019-01-23tests: simplify parallel_cp.shJakob Unterwurzacher
Get rid of one extra directory level. Hopefully makes it easier to follow the debug logs.
2019-01-20tests: darwin: ignore error in TestMvWarningSymlinkJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/349
2019-01-20tests: check that we can delete directories with all permissionJakob Unterwurzacher
Regression test for https://github.com/rfjakob/gocryptfs/issues/354
2019-01-20tests: matrix: split out directory tests into their own fileJakob Unterwurzacher
matrix_test.go is already too big.
2019-01-20Revert "syscallcompat: drop Faccessat AT_SYMLINK_NOFOLLOW helper"Jakob Unterwurzacher
Breaks mounting on MacOS: unix.Faccessat on Darwin does NOT (yet) support AT_SYMLINK_NOFOLLOW. See d44fe89ba4f3252c5bd00c4f7730197732f2a26a . This reverts commit 0805a63df1b5f915b228727f6074c2506922d0ad.
2019-01-20syscallcompat: drop Faccessat AT_SYMLINK_NOFOLLOW helperJakob Unterwurzacher
unix.Faccessat has added support for AT_SYMLINK_NOFOLLOW in July 2018, https://github.com/golang/sys/commit/bd9dbc187b6e1dacfdd2722a87e83093c2d7bd6e#diff-341484dbbe3180cd7a31ef2ad2d679b6 which means we no longer need our own helper. Closes https://github.com/rfjakob/gocryptfs/issues/347
2019-01-15tests: Increase timeout in Mount() function.Sebastian Lackner
This avoids sporadic test failures on macOS.
2019-01-14tests: reduce noise on MacOSJakob Unterwurzacher
This should get rid of Openat: O_NOFOLLOW missing: flags = 0x0 Fchmodat: adding missing AT_SYMLINK_NOFOLLOW flag sys_common_test.go:203: chmod on symlink should have failed, but did not. New mode=0333 UnmountErr: "[...]/057376762.mnt" was not found in MountInfo, cannot check for FD leak and add some context to --- FAIL: TestUtimesNano (0.00s) matrix_test.go:628: no such file or directory See https://github.com/rfjakob/gocryptfs/pull/343#issuecomment-453888006 for full test output
2019-01-06tests: check that fallocate does not over-allocate spaceJakob Unterwurzacher
We currently allocate 18 bytes too much: https://github.com/rfjakob/gocryptfs/issues/311
2019-01-06tests: move fallocate tests to its own fileJakob Unterwurzacher
matrix_test.go is already too big.
2019-01-06tests: TestFallocate: comment what "d" and "h" meansJakob Unterwurzacher
Document what "d" and "h" means in the fancy ASCII diagrams. https://github.com/rfjakob/gocryptfs/pull/326
2019-01-05tests: add parallel_cp stress testJakob Unterwurzacher
Modeled after xfstests generic/273 https://github.com/rfjakob/gocryptfs/issues/322
2019-01-05fusefrontend: Allow to set/remove xattr on directory without read permission.Sebastian Lackner
Setting/removing extended attributes on directories was partially fixed with commit eff35e60b63331e3e10f921792baa10b236a721d. However, on most file systems it is also possible to do these operations without read access (see tests). Since we cannot open a write-access fd to a directory, we have to use the /proc/self/fd trick (already used for ListXAttr) for the other operations aswell. For simplicity, let's separate the Linux and Darwin code again (basically revert commit f320b76fd189a363a34bffe981aa67ab97df3362), and always use the /proc/self/fd trick on Linux. On Darwin we use the best-effort approach with openBackingFile() as a fallback. More discussion about the available options is available in https://github.com/rfjakob/gocryptfs/issues/308.
2019-01-05A few more spelling fixes.Sebastian Lackner
2019-01-04tests: bump maxCacheFds to 3Jakob Unterwurzacher
As the dirCache now has 3 entries, the tests should accept up to 3 extra fds without declaring an fd leak.
2019-01-04fusefrontend: fix setting xattrs on directoriesJakob Unterwurzacher
Directories cannot be opened read-write. Retry with RDONLY.
2019-01-04tests: reverse: verify that longname .name files are exluded as wellJakob Unterwurzacher
Currently fails, will be fixed in the next commit. https://github.com/rfjakob/gocryptfs/issues/286
2019-01-04tests: fix VerifyExistence() helper, it missed unstat()able filesJakob Unterwurzacher
VerifyExistence missed unstat()able files in the directory listing because ioutil.ReadDir() filtered them out. https://github.com/rfjakob/gocryptfs/issues/285
2019-01-03tests: overengineer extractloop_plot_csv.m a littleJakob Unterwurzacher
Plot iteration time on second y axis, adjust line styles
2019-01-03Omit syscall.O_RDONLY flag when passing O_PATH.Sebastian Lackner
When O_PATH is specified in flags, flag bits other than O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW are ignored.
2019-01-03tests: extractloop: renice to level 19Jakob Unterwurzacher
Run at low priority to not annoy the user too much.