diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | yarns/0030-basics.yarn | 8 | ||||
-rw-r--r-- | yarns/0050-multiple-clients.yarn | 6 | ||||
-rw-r--r-- | yarns/0060-encryption.yarn | 8 | ||||
-rw-r--r-- | yarns/0100-fuse.yarn | 1 | ||||
-rw-r--r-- | yarns/0200-repo-formats.yarn | 2 | ||||
-rw-r--r-- | yarns/9000-implements.yarn | 12 |
7 files changed, 31 insertions, 10 deletions
@@ -16,6 +16,10 @@ Bug fixes: didn't read the whole file from the beginning in one read(2) system call. +* The test suite now skips tests that require use of extended + attributes in the `user` namespace. This should allow the test suite + to be run on more build servers run by various distributions. + Version 1.7, released 2014-03-15 -------------------------------- diff --git a/yarns/0030-basics.yarn b/yarns/0030-basics.yarn index 88227fba..7a28720d 100644 --- a/yarns/0030-basics.yarn +++ b/yarns/0030-basics.yarn @@ -80,6 +80,7 @@ other parts of Obnam's test suite as well, and this reduces code duplication. SCENARIO backup non-basic filesystem objects + ASSUMING extended attributes are allowed for users GIVEN directory L with interesting filesystem objects AND a manifest of L in M WHEN user U backs up directory L to repository R @@ -90,6 +91,7 @@ As a special case, Obnam needs to notice when only an extended attribute value changes. SCENARIO backup notices when extended attribute value changes + ASSUMING extended attributes are allowed for users GIVEN a file F in L, with data AND file L/F has extended attribute user.foo set to foo WHEN user U backs up directory L to repository R @@ -132,8 +134,8 @@ Often it's useful to backup more than one location at once. We'll assume that if we can backup two, then it'll all work well. SCENARIO backup two roots - GIVEN directory L1 with interesting filesystem objects - AND directory L2 with interesting filesystem objects + GIVEN 4kB of new data in directory L1 + AND 16kB of new data in directory L2 AND a manifest of L1 in M1 AND a manifest of L2 in M2 WHEN user U backs up directories L1 and L2 to repository R @@ -177,7 +179,7 @@ that the configuration is correct: the fake backup runs much faster than a real one. SCENARIO a pretend backup - GIVEN directory L with interesting filesystem objects + GIVEN 10kB of new data in directory L WHEN user U backs up directory L to repository R GIVEN a manifest of R in M1 WHEN user U pretends to back up directory L to repository R diff --git a/yarns/0050-multiple-clients.yarn b/yarns/0050-multiple-clients.yarn index 9119f034..e87f8128 100644 --- a/yarns/0050-multiple-clients.yarn +++ b/yarns/0050-multiple-clients.yarn @@ -12,8 +12,8 @@ for locking, which we assume will test that, and so in this yarn test suite we do not test concurrency at all. SCENARIO two clients sharing a repository - GIVEN directory L1 with interesting filesystem objects - AND directory L2 with interesting filesystem objects + GIVEN 64kB of new data in directory L1 + AND 96kB of new data in directory L2 AND a manifest of L1 in M1 AND a manifest of L2 in M2 WHEN user U1 backs up directory L1 to repository R @@ -50,7 +50,7 @@ verifies that you can list the clients even if you don't know an existing client's name. SCENARIO list clients without being in the client list - GIVEN directory L with interesting filesystem objects + GIVEN 1kB of new data in directory L WHEN user U1 backs up directory L to repository R THEN user U2 can see user U1 in repository R diff --git a/yarns/0060-encryption.yarn b/yarns/0060-encryption.yarn index b30234be..485a1233 100644 --- a/yarns/0060-encryption.yarn +++ b/yarns/0060-encryption.yarn @@ -40,7 +40,7 @@ that encryption is done at the I/O abstraction level. SCENARIO basic encrypted backup and restore GIVEN user U uses encryption key "Test Key One" from test-data/keyring-1 - AND directory L with interesting filesystem objects + AND 128kB of new data in directory L AND a manifest of L in M WHEN user U backs up directory L to repository R AND user U restores their latest generation in repository R into X @@ -64,7 +64,7 @@ First of all, we make a simple encrypted backup as the first client. SCENARIO adding and removing encryption keys to clients GIVEN user U1 uses encryption key "Test Key One" from test-data/keyring-1 - AND directory L1 with interesting filesystem objects + AND 16kB of new data in directory L1 WHEN user U1 backs up directory L1 to repository R THEN user U1 uses key "Test Key One" in repository R @@ -79,7 +79,7 @@ to the client list, and thus can't add itself. Then we make a backup as the second client. GIVEN user U2 uses encryption key "Test Key Two" from test-data/keyring-2 - AND directory L2 with interesting filesystem objects + AND 32kB of new data in directory L2 WHEN user U2 backs up directory L2 to repository R THEN user U2 uses key "Test Key Two" in repository R @@ -138,7 +138,7 @@ remain. SCENARIO remove a client GIVEN user U1 uses encryption key "Test Key One" from test-data/keyring-1 AND user U2 uses encryption key "Test Key Two" from test-data/keyring-2 - AND directory L with interesting filesystem objects + AND 48kB of new data in directory L WHEN user U1 backs up directory L to repository R THEN user U1 uses key "Test Key One" in repository R WHEN user U1 imports public key "Test Key Two" from test-data/keyring-2 diff --git a/yarns/0100-fuse.yarn b/yarns/0100-fuse.yarn index d3433f0e..7310846d 100644 --- a/yarns/0100-fuse.yarn +++ b/yarns/0100-fuse.yarn @@ -7,6 +7,7 @@ test suite concentrates on verifying that at least the basics work. SCENARIO Browsing backups with FUSE plugin ASSUMING user is in group fuse + AND extended attributes are allowed for users GIVEN directory L with interesting filesystem objects AND a manifest of L in M WHEN user U backs up directory L to repository R diff --git a/yarns/0200-repo-formats.yarn b/yarns/0200-repo-formats.yarn index 6520fbfd..646fe58a 100644 --- a/yarns/0200-repo-formats.yarn +++ b/yarns/0200-repo-formats.yarn @@ -34,6 +34,7 @@ better. First, the normal one reference repository. SCENARIO use repository format 6 + ASSUMING extended attributes are allowed for users GIVEN unpacked test data from test-data/repo-format-6-encrypted-deflated.tar.xz in T WHEN user havelock restores generation 1 in T/repo to R1 THEN restored data in R1 matches T/manifest-1 @@ -43,6 +44,7 @@ First, the normal one reference repository. Then, the in-tree repository. SCENARIO use repository format 6 with in-tree data + ASSUMING extended attributes are allowed for users GIVEN unpacked test data from test-data/repo-format-6-in-tree-data.tar.xz in T WHEN user havelock restores generation 1 in T/repo to R1 THEN restored data in R1 matches T/manifest-1 diff --git a/yarns/9000-implements.yarn b/yarns/9000-implements.yarn index ab0fe1c8..b62d17f4 100644 --- a/yarns/9000-implements.yarn +++ b/yarns/9000-implements.yarn @@ -504,3 +504,15 @@ in a specific group. IMPLEMENTS ASSUMING user is in group (\S+) groups | tr ' ' '\n' | grep -Fx "$MATCH_1" + + +Check on whether user extended attributes work +---------------------------------------------- + +Extended attributes are, at least on some filesystems, a mount-time +option which may be disabled. In fact, experience has shown that it +often is disabled on build servers. + + IMPLEMENTS ASSUMING extended attributes are allowed for users + touch "$DATADIR/xattr.test" + setfattr -n user.foo -v bar "$DATADIR/xattr.test" |