chiark / gitweb /
Test suite: mirror: Synchronise properly with drs background mirror
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 19 Jul 2015 17:52:30 +0000 (18:52 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 19 Jul 2015 17:58:37 +0000 (18:58 +0100)
tests/tests/mirror

index 6f6300e..0889b18 100755 (executable)
@@ -30,8 +30,6 @@ set -ex
 cat >&2 $sentinel
 shift # eat HOST
 sh -c "\$*"
-: ${sentinel}2
-date >${sentinel}2
 END
 chmod +x $tmp/stunt-ssh
 
@@ -53,8 +51,8 @@ t-check-mirrored
 
 : ----- "stall timeout test" -----
 
-rm -f $sentinel ${sentinel}2
-mkfifo $sentinel ${sentinel}2
+rm -f $sentinel
+mkfifo $sentinel
 
 t-mirror-set hooktimeout=5
 
@@ -65,7 +63,15 @@ t-check-not-mirrored
 
 exec 3<>$sentinel
 exec 3>&-
-cat ${sentinel}2
+
+attempts=100
+while [ -f $queuedir/$p.lock ]; do
+       if [ $attempts = 0 ]; then \
+               fail "timed out waiting for lock to go away"
+       fi
+       attempts=$(( $attempts - 1 ))
+       sleep 0.1
+done
 
 t-check-mirrored