From 1647f63f87eb287027d685d22c6a798aa775ebd1 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 11 Jul 2015 13:57:59 +0100 Subject: Mirroring: Tests: Break out various functions (nfc overall) --- tests/lib | 10 ++++++++ tests/lib-mirror | 40 ++++++++++++++++++++++++++++++++ tests/tests/mirror | 68 +++++++++++------------------------------------------- 3 files changed, 63 insertions(+), 55 deletions(-) create mode 100644 tests/lib-mirror (limited to 'tests') diff --git a/tests/lib b/tests/lib index 469b8fc..1179fb0 100644 --- a/tests/lib +++ b/tests/lib @@ -436,6 +436,16 @@ t-pushed-good () { git verify-tag `t-v-tag` } +t-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 +} + t-822-field () { local file=$1 local field=$2 diff --git a/tests/lib-mirror b/tests/lib-mirror new file mode 100644 index 0000000..c84c30c --- /dev/null +++ b/tests/lib-mirror @@ -0,0 +1,40 @@ + +t-mirror-setup () { + # p must be set already + + reposmirror=$tmp/git-mirror + pmirror=$reposmirror/$p.git + queuedir=$tmp/git/_mirror-queue + + mkdir $reposmirror + + mirror_hook=$drs_dispatch/mirror-hook + ln -sf ${DGIT_INFRA_PFX}dgit-mirror-rsync $mirror_hook + + >$drs_dispatch/mirror-settings + t-mirror-set remoterepos="$reposmirror" + + t-mirror-hook setup +} + +t-mirror-set () { + echo >>$drs_dispatch/mirror-settings "$1" +} + +t-mirror-hook () { + "$mirror_hook" "$drs_dispatch" "$@" +} + +t-check-mirrored () { + t-reporefs master + t-reporefs mirror $pmirror + diff $tmp/show-refs.{master,mirror} + cat $queuedir/$p.log + t-files-notexist $queuedir/$p.{n,a,lock,err} +} + +t-check-not-mirrored () { + # uses previous t-reporefs-master + t-reporefs mirror $pmirror + diff $tmp/show-refs.{master,mirror} +} diff --git a/tests/tests/mirror b/tests/tests/mirror index 431b391..6f6300e 100755 --- a/tests/tests/mirror +++ b/tests/tests/mirror @@ -1,65 +1,23 @@ #!/bin/bash set -e . tests/lib +. $troot/lib-mirror t-drs -: ---- "setup up the mirror hook in a basic way" ---- - -reposmirror=$tmp/git-mirror -queuedir=$tmp/git/_mirror-queue -mkdir $reposmirror - -mhook=$drs_dispatch/mirror-hook -ln -sf ${DGIT_INFRA_PFX}dgit-mirror-rsync $mhook -mhook () { - "$mhook" "$drs_dispatch" "$@" -} - ->$drs_dispatch/mirror-settings -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 - diff $tmp/show-refs.{master,mirror} - cat $queuedir/$p.log - t-files-notexist $queuedir/$p.{n,a,lock,err} -} - -check-not-mirrored () { - # uses previous t-reporefs-master - t-reporefs mirror $pmirror - diff $tmp/show-refs.{master,mirror} -} - : ---- "basic test" ---- t-tstunt-parsechangelog t-prep-newpackage example 1.0 -pmirror=$reposmirror/$p.git -mhook setup +t-mirror-setup cd $p revision=1 t-dgit build t-dgit push --new -check-mirrored - +t-check-mirrored : ---- "stunt ssh test" ---- @@ -77,38 +35,38 @@ date >${sentinel}2 END chmod +x $tmp/stunt-ssh -mset rsyncssh=$tmp/stunt-ssh -mset remoterepos=HOST:$reposmirror +t-mirror-set rsyncssh=$tmp/stunt-ssh +t-mirror-set remoterepos=HOST:$reposmirror # mirror should fail due to lack of stunt-ssh-sentinel -commit-build-push-expect-log "stunt ssh test" \ +t-commit-build-push-expect-log "stunt ssh test" \ E:'mirror hook failed: .*exited' ls -al $queuedir/$p.a -check-not-mirrored +t-check-not-mirrored touch $sentinel -mhook backlog -check-mirrored +t-mirror-hook backlog +t-check-mirrored : ----- "stall timeout test" ----- rm -f $sentinel ${sentinel}2 mkfifo $sentinel ${sentinel}2 -mset hooktimeout=5 +t-mirror-set hooktimeout=5 -commit-build-push-expect-log "stall timeout test" \ +t-commit-build-push-expect-log "stall timeout test" \ E:'mirror hook failed: .*timeout' -check-not-mirrored +t-check-not-mirrored exec 3<>$sentinel exec 3>&- cat ${sentinel}2 -check-mirrored +t-check-mirrored echo done. -- cgit v1.2.3