chiark / gitweb /
Test suite: Make t-reporefs stash the output
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 7 Jun 2015 13:23:52 +0000 (14:23 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 10 Jun 2015 17:02:42 +0000 (18:02 +0100)
tests/lib
tests/tests/drs-push-rejects

index 5c8293f9b200d1f127c8811b7f875fe6ca5024f0..776e2a3e40f42bf426365d96f2894e57795044e7 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -53,8 +53,11 @@ t-expect-fail () {
 }
 
 t-reporefs () {
+       local whichoutput=$1; shift
+       local outputfile="$tmp/show-refs.$whichoutput"
        (set -e
-       if test -d $tmp/git/$p.git; then
+        exec >"$outputfile"
+        if test -d $tmp/git/$p.git; then
                cd $tmp/git/$p.git
                git show-ref |sort
        fi)
index 74ddd37adcc1f9100b5af629016ed4cb4066f253..640aeae6914cbe8630488b21d3e4be68ad7b3de0 100755 (executable)
@@ -12,7 +12,7 @@ cd $p
 
 mustfail () {
        local wantmsg="$1"; shift
-       t-reporefs >$tmp/show-refs.pre-push
+       t-reporefs pre-push
        set +o pipefail
        git push origin "$@" 2>&1 |tee $tmp/mustfail.txt
        ps="${PIPESTATUS[*]}"
@@ -25,14 +25,14 @@ mustfail () {
        if ! fgrep "$wantmsg" $tmp/mustfail.txt >/dev/null; then
                fail "error message not found"
        fi
-       t-reporefs >$tmp/show-refs.post-push
+       t-reporefs post-push
        diff $tmp/show-refs.{pre,post}-push
 }
 
 mustsucceed () {
-       t-reporefs >$tmp/show-refs.pre-push
+       t-reporefs pre-push
        git push origin "$@"
-       t-reporefs >$tmp/show-refs.post-push
+       t-reporefs post-push
        if diff $tmp/show-refs.{pre,post}-push >$tmp/show-refs.diff; then
                fail "no refs updated"
        fi