+ 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"
+}
+
+t-expect-push-fail () {
+ local mpat="$1"; shift
+ t-reporefs pre-push
+ t-expect-fail "$mpat" "$@"
+ t-reporefs post-push
+ diff $tmp/show-refs.{pre,post}-push
+}
+
+t-reporefs () {
+ local whichoutput=$1; shift
+ local outputfile="$tmp/show-refs.$whichoutput"
+ (set -e
+ exec >"$outputfile"
+ if test -d $tmp/git/$p.git; then
+ cd $tmp/git/$p.git
+ git show-ref |sort
+ fi)