]> arthur.barton.de Git - bup.git/blobdiff - t/test-meta.sh
Don't use "cp -a"
[bup.git] / t / test-meta.sh
index 1363598593f04c65499b80ac90f4c2a52751a178..2c886cce8b356e0963443d2caec753d0c4faa197 100755 (executable)
@@ -100,7 +100,7 @@ test-src-save-restore()
 
 setup-test-tree()
 {
-    WVPASS make PREFIX="$tmpdir"/src install
+    WVPASS "$TOP/t/sync-tree" "$TOP/t/sampledata/" "$tmpdir/src/"
 
     # Add some hard links for the general tests.
     (
@@ -158,19 +158,26 @@ WVSTART 'metadata save/restore (general)'
     # Test a deeper subdir/ to make sure top-level non-dir metadata is
     # restored correctly.  We need at least one dir and one non-dir at
     # the "top-level".
-    WVPASS test -f src/share/man/man1/bup.1
+    WVPASS test -d src/var/cmd
+    WVPASS test -f src/var/cmd/save-cmd.py
     WVPASS rm -rf "$BUP_DIR"
     WVPASS bup init
     WVPASS touch -t 201111111111 src-restore # Make sure the top won't match.
     WVPASS bup index src
     WVPASS bup save -t -n src src
     WVPASS force-delete src-restore
-    WVPASS bup restore -C src-restore "/src/latest$(pwd)/src/lib/"
+    WVPASS bup restore -C src-restore "/src/latest$(pwd)/src/var/."
     WVPASS touch -t 201211111111 src-restore # Make sure the top won't match.
     # Check that the only difference is the top dir.
-    WVFAIL $TOP/t/compare-trees -c src/lib/ src-restore/ > tmp-compare-trees
-    WVPASSEQ $(cat tmp-compare-trees | wc -l) 2
-    WVPASS tail -n +2 tmp-compare-trees | WVPASS grep -qE '^\.d[^ ]+ \./$'
+    WVFAIL $TOP/t/compare-trees -c src/var/ src-restore/ > tmp-compare-trees
+    WVPASSEQ $(cat tmp-compare-trees | wc -l) 1
+    # Note: OS X rsync itemize output is currently only 9 chars, not 11.
+    expected_diff_rx='^\.d\.\.t.\.\.\.\.?\.? \./$'
+    if ! grep -qE "$expected_diff_rx" tmp-compare-trees; then
+        echo -n 'tmp-compare-trees: ' 1>&2
+        cat tmp-compare-trees 1>&2
+    fi
+    WVPASS grep -qE "$expected_diff_rx" tmp-compare-trees
     WVPASS rm -r "$tmpdir"
 ) || exit $?
 
@@ -207,7 +214,7 @@ WVSTART 'metadata save/restore (using index metadata)'
     WVPASS "$TOP/t/compare-trees" -c src/ src-restore-1/src/
 
     WVPASS echo "blarg" > src/volatile/1
-    WVPASS cp -a src/volatile/1 src-restore-1/src/volatile/
+    WVPASS cp -pP src/volatile/1 src-restore-1/src/volatile/
     WVPASS bup index src
 
     # Bup should *not* pick up these metadata changes.