chiark / gitweb /
Mirroring: Tests: search for expected messages
[dgit.git] / tests / tests / mirror
index 874120e588ad1655992f65ede1af3dc39695353f..431b391714828b3f64b514029f14e6515d78468f 100755 (executable)
@@ -21,6 +21,16 @@ mset () { echo >>$drs_dispatch/mirror-settings "$1"; }
 
 mset remoterepos="$reposmirror"
 
+commit-build-push-expect-log () {
+       local msg=$1
+       local mpat=$2
+       t-commit "$msg"
+       t-dgit build
+       LC_MESSAGES=C \
+       t-dgit push --new 2>&1 |tee $tmp/push.log
+       t-grep-mpat "$mpat" $tmp/push.log
+}
+
 check-mirrored () {
        t-reporefs master
        t-reporefs mirror $pmirror
@@ -70,10 +80,10 @@ chmod +x $tmp/stunt-ssh
 mset rsyncssh=$tmp/stunt-ssh
 mset remoterepos=HOST:$reposmirror
 
-t-commit "stunt ssh test"
-t-dgit build
-t-dgit push --new
-# ^ mirror should fail due to lack of stunt-ssh-sentinel
+# mirror should fail due to lack of stunt-ssh-sentinel
+
+commit-build-push-expect-log "stunt ssh test" \
+       E:'mirror hook failed: .*exited'
 
 ls -al $queuedir/$p.a
 check-not-mirrored
@@ -90,9 +100,8 @@ mkfifo $sentinel ${sentinel}2
 
 mset hooktimeout=5
 
-t-commit "stall timeout test"
-t-dgit build
-t-dgit push --new
+commit-build-push-expect-log "stall timeout test" \
+       E:'mirror hook failed: .*timeout'
 
 check-not-mirrored