X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib;h=118c497115e9f1ac96198a6c7b392653215cc394;hp=046d36289c1145b53d37f7b7d1dbd4d575e4d9b2;hb=5ecff56dbf1b60b6b5c814b3450bf4ec37ed26d6;hpb=c17699d17f17f6ea105b7440ff95fa39eebb54a6 diff --git a/tests/lib b/tests/lib index 046d3628..118c4971 100644 --- a/tests/lib +++ b/tests/lib @@ -47,6 +47,24 @@ END t-expect-fail () { local mpat="$1"; shift + set +o pipefail + LC_MESSAGES=C "$@" 2>&1 | tee $tmp/t.output + local ps="${PIPESTATUS[*]}" + set -o pipefail + + case $ps in + "0 0") fail "command unexpectedly succeeded (instead of: $mpat)" ;; + *" 0") ;; + *) fail "tee failed" ;; + esac + + t-grep-mpat "$mpat" $tmp/t.output +} + +t-grep-mpat () { + local mpat="$1" + local file="$2" + local grepper=fgrep case "$mpat" in [A-Z]:*) @@ -59,19 +77,8 @@ t-expect-fail () { ;; esac - set +o pipefail - LC_MESSAGES=C "$@" 2>&1 | tee $tmp/t.output - local ps="${PIPESTATUS[*]}" - set -o pipefail - - case $ps in - "0 0") fail "command unexpectedly succeeded (instead of: $mpat)" ;; - *" 0") ;; - *) fail "tee failed" ;; - esac - - $grepper -e "$mpat" $tmp/t.output || - fail "error message not found" + $grepper -e "$mpat" "$file" || + fail "message not found" } t-expect-push-fail () {