]> arthur.barton.de Git - bup.git/blobdiff - t/test-gc.sh
test-restore-map-owner: accommodate python 3 and test there
[bup.git] / t / test-gc.sh
index f3059549921a50267cad47c84b8f6143efae1fa8..2739ae78ef9e6571d6e6be964063ddebb37b1a4e 100755 (executable)
@@ -201,13 +201,41 @@ packs_after="$(ls "$BUP_DIR/objects/pack/"*.pack)" || exit $?
 WVPASSEQ 1 "$(grep -cE '^rewriting ' gc.log)"
 
 # Check that only one pack was rewritten
-only_in_before="$(comm -2 -3 <(echo "$packs_before") <(echo "$packs_after"))"
-only_in_after="$(comm -1 -3 <(echo "$packs_before") <(echo "$packs_after"))"
-in_both="$(comm -1 -2 <(echo "$packs_before") <(echo "$packs_after"))"
+
+# Accommodate some systems that apparently used to change the default
+# ls sort order which must match LC_COLLATE for comm to work.
+packs_before="$(sort <(echo "$packs_before"))" || die $?
+packs_after="$(sort <(echo "$packs_after"))" || die $?
+
+only_in_before="$(comm -2 -3 <(echo "$packs_before") <(echo "$packs_after"))" \
+    || die $?
+
+only_in_after="$(comm -1 -3 <(echo "$packs_before") <(echo "$packs_after"))" \
+    || die $?
+
+in_both="$(comm -1 -2 <(echo "$packs_before") <(echo "$packs_after"))" || die $?
 
 WVPASSEQ 1 $(echo "$only_in_before" | wc -l)
 WVPASSEQ 1 $(echo "$only_in_after" | wc -l)
 WVPASSEQ 1 $(echo "$in_both" | wc -l)
 
+WVSTART "gc (threshold 0)"
+
+WVPASS rm -rf "$BUP_DIR"
+WVPASS bup init
+WVPASS rm -rf src && mkdir src
+WVPASS echo 0 > src/0
+WVPASS echo 1 > src/1
+
+WVPASS bup index src
+WVPASS bup save -n src-1 src
+
+packs_before="$(ls "$BUP_DIR/objects/pack/"*.pack)" || exit $?
+WVPASS bup gc -v $GC_OPTS --threshold 0 2>&1 | tee gc.log
+packs_after="$(ls "$BUP_DIR/objects/pack/"*.pack)" || exit $?
+# Check that the pack was rewritten, but not removed (since the
+# result-pack is equal to the source pack)
+WVPASSEQ 1 "$(grep -cE '^rewriting ' gc.log)"
+WVPASSEQ "$packs_before" "$packs_after"
 
 WVPASS rm -rf "$tmpdir"