]> arthur.barton.de Git - bup.git/blobdiff - t/test-rm.sh
midx-cmd: accommodate python 3
[bup.git] / t / test-rm.sh
index 534ed820bbe0d924560cc523386980efb153c652..00a5a8579ebef4fc639fdaecd69de71381e8c93f 100755 (executable)
@@ -27,7 +27,7 @@ wv_matches_rx()
     echo "$str" | sed 's/^\(.*\)/  \1/' 1>&2 || exit $?
     echo "Against:" 1>&2 || exit $?
     echo "$rx" | sed 's/^\(.*\)/  \1/' 1>&2 || exit $?
-    if [[ "$str" =~ $rx ]]; then
+    if [[ "$str" =~ ^${rx}$ ]]; then
         echo "! $src regex matches ok" 1>&2 || exit $?
     else
         echo "! $src regex doesn't match FAILED" 1>&2 || exit $?
@@ -48,11 +48,14 @@ WVPASS "$top"/t/sync-tree bup/ bup-baseline/
 # FIXME: test -n
 WVPASS bup tick # Make sure we always get the timestamp changes below
 WVPASS bup rm --unsafe /src
-wv_matches_rx "$(compare-trees bup/ bup-baseline/)" \
+observed="$(compare-trees bup/ bup-baseline/ | LC_ALL=C sort)" || exit $?
+wv_matches_rx "$observed" \
 '\*deleting[ ]+logs/refs/heads/src
-\*deleting[ ]+refs/heads/src
+\*deleting[ ]+refs/heads/src(
+\.d\.\.t\.\.\.[.]*[ ]+\./)?
 \.d\.\.t\.\.\.[.]*[ ]+logs/refs/heads/
-\.d\.\.t\.\.\.[.]*[ ]+refs/heads/'
+\.d\.\.t\.\.\.[.]*[ ]+refs/heads/(
+>f\+\+\+\+\+\+\+\+\+[ ]+packed-refs)?'
 
 
 WVSTART "rm /foo (one of many)"
@@ -67,11 +70,14 @@ WVPASS bup save -n src-3 src
 WVPASS "$top"/t/sync-tree bup/ bup-baseline/
 WVPASS bup tick # Make sure we always get the timestamp changes below
 WVPASS bup rm --unsafe /src
-wv_matches_rx "$(compare-trees bup/ bup-baseline/)" \
+observed="$(compare-trees bup/ bup-baseline/ | LC_ALL=C sort)" || exit $?
+wv_matches_rx "$observed" \
 "\*deleting[ ]+logs/refs/heads/src
-\*deleting[ ]+refs/heads/src
+\*deleting[ ]+refs/heads/src(
+\.d\.\.t\.\.\.[.]*[ ]+\./)?
 \.d\.\.t\.\.\.[.]*[ ]+logs/refs/heads/
-\.d\.\.t\.\.\.[.]*[ ]+refs/heads/"
+\.d\.\.t\.\.\.[.]*[ ]+refs/heads/(
+>f\+\+\+\+\+\+\+\+\+[ ]+packed-refs)?"
 
 
 WVSTART "rm /foo /bar (multiple of many)"
@@ -86,13 +92,16 @@ WVPASS bup save -n src-5 src
 WVPASS "$top"/t/sync-tree bup/ bup-baseline/
 WVPASS bup tick # Make sure we always get the timestamp changes below
 WVPASS bup rm --unsafe /src-2 /src-4
-wv_matches_rx "$(compare-trees bup/ bup-baseline/)" \
-"\*deleting[ ]+logs/refs/heads/src-4
-\*deleting[ ]+logs/refs/heads/src-2
-\*deleting[ ]+refs/heads/src-4
+observed="$(compare-trees bup/ bup-baseline/ | LC_ALL=C sort)" || exit $?
+wv_matches_rx "$observed" \
+"\*deleting[ ]+logs/refs/heads/src-2
+\*deleting[ ]+logs/refs/heads/src-4
 \*deleting[ ]+refs/heads/src-2
+\*deleting[ ]+refs/heads/src-4(
+\.d\.\.t\.\.\.[.]*[ ]+\./)?
 \.d\.\.t\.\.\.[.]*[ ]+logs/refs/heads/
-\.d\.\.t\.\.\.[.]*[ ]+refs/heads/"
+\.d\.\.t\.\.\.[.]*[ ]+refs/heads/(
+>f\+\+\+\+\+\+\+\+\+[ ]+packed-refs)?"
 
 
 WVSTART "rm /foo /bar (all)"
@@ -101,19 +110,22 @@ WVPASS mv bup-baseline bup
 WVPASS "$top"/t/sync-tree bup/ bup-baseline/
 WVPASS bup tick # Make sure we always get the timestamp changes below
 WVPASS bup rm --unsafe /src /src-2 /src-3 /src-4 /src-5
-wv_matches_rx "$(compare-trees bup/ bup-baseline/)" \
-"\*deleting[ ]+logs/refs/heads/src-5
-\*deleting[ ]+logs/refs/heads/src-4
-\*deleting[ ]+logs/refs/heads/src-3
+observed="$(compare-trees bup/ bup-baseline/ | LC_ALL=C sort)" || exit $?
+wv_matches_rx "$observed" \
+"\*deleting[ ]+logs/refs/heads/src
 \*deleting[ ]+logs/refs/heads/src-2
-\*deleting[ ]+logs/refs/heads/src
-\*deleting[ ]+refs/heads/src-5
-\*deleting[ ]+refs/heads/src-4
-\*deleting[ ]+refs/heads/src-3
-\*deleting[ ]+refs/heads/src-2
+\*deleting[ ]+logs/refs/heads/src-3
+\*deleting[ ]+logs/refs/heads/src-4
+\*deleting[ ]+logs/refs/heads/src-5
 \*deleting[ ]+refs/heads/src
+\*deleting[ ]+refs/heads/src-2
+\*deleting[ ]+refs/heads/src-3
+\*deleting[ ]+refs/heads/src-4
+\*deleting[ ]+refs/heads/src-5(
+\.d\.\.t\.\.\.[.]*[ ]+\./)?
 \.d\.\.t\.\.\.[.]*[ ]+logs/refs/heads/
-\.d\.\.t\.\.\.[.]*[ ]+refs/heads/"
+\.d\.\.t\.\.\.[.]*[ ]+refs/heads/(
+>f\+\+\+\+\+\+\+\+\+[ ]+packed-refs)?"
 
 
 WVSTART "rm /foo/bar (lone save - equivalent to rm /foo)"
@@ -129,11 +141,14 @@ WVPASS "$top"/t/sync-tree bup/ bup-baseline/
 WVPASS bup tick # Make sure we always get the timestamp changes below
 WVFAIL bup rm --unsafe /src/latest
 WVPASS bup rm --unsafe /src/"$save1"
-wv_matches_rx "$(compare-trees bup/ bup-baseline/)" \
+observed="$(compare-trees bup/ bup-baseline/ | LC_ALL=C sort)" || exit $?
+wv_matches_rx "$observed" \
 "\*deleting[ ]+logs/refs/heads/src
-\*deleting[ ]+refs/heads/src
+\*deleting[ ]+refs/heads/src(
+\.d\.\.t\.\.\.[.]*[ ]+\./)?
 \.d\.\.t\.\.\.[.]*[ ]+logs/refs/heads/
-\.d\.\.t\.\.\.[.]*[ ]+refs/heads/"
+\.d\.\.t\.\.\.[.]*[ ]+refs/heads/(
+>f\+\+\+\+\+\+\+\+\+[ ]+packed-refs)?"
 
 
 verify-changes-caused-by-rewriting-save()
@@ -225,10 +240,11 @@ WVSTART "rm /foo/BAR (last of many)"
 WVPASS "$top"/t/sync-tree bup-baseline/ bup/
 victim="$(WVPASS bup ls src | tail -n 2 | head -n 1)" || exit $?
 WVPASS bup rm --unsafe -vv /src/"$victim"
-wv_matches_rx "$(compare-trees bup/ bup-baseline/)" \
-">fcst\.\.\.[.]*[ ]+logs/refs/heads/src
-\.d\.\.t\.\.\.[.]*[ ]+refs/heads/
->fc\.t\.\.\.[.]*[ ]+refs/heads/src"
+observed="$(compare-trees bup/ bup-baseline/ | LC_ALL=C sort)" || exit $?
+wv_matches_rx "$observed" \
+"\.d\.\.t\.\.\.[.]*[ ]+refs/heads/
+>fc\.t\.\.\.[.]*[ ]+refs/heads/src
+>fcst\.\.\.[.]*[ ]+logs/refs/heads/src"
 observed=$(git rev-list src | wc -l) || exit $?
 WVPASSEQ 2 $observed
 WVPASSEQ "$(commit-hash-n 1 bup src)" "$(commit-hash-n 1 bup-baseline src)"