exec 2>&1
set -x
+set -o pipefail
. tests/lib-core
t-expect-fail () {
local mpat="$1"; shift
+
+ local grepper=fgrep
+ case "$mpat" in
+ [A-Z]:*)
+ case "$mpat" in
+ E:*) grepper=egrep ;;
+ F:*) grepper=fgrep ;;
+ *) fail "bad mpat prefix in $mpat";;
+ esac
+ mpat=${mpat#[A-Z]:}
+ ;;
+ esac
+
+ set +o pipefail
LC_MESSAGES=C "$@" 2>&1 | tee $tmp/t.output
- test ${PIPESTATUS[0]} != 0
- egrep "$mpat" $tmp/t.output ||false
+ local gotstatus=${PIPESTATUS[0]}
+ set -o pipefail
+ test $gotstatus != 0
+ $grepper -e "$mpat" $tmp/t.output ||false
+}
+
+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)
}
t-untar () {
refs/*) ;;
*) fail "t-git-get-ref bad $ref" ;;
esac
- git show-ref -d $1 | perl -ne '
+ (git show-ref -d $1 || test $? = 1) | perl -ne '
$x = $1 if m#^(\w+) \Q'$1'\E(?:\^\{\})?$#;
END { print "$x\n" if length $x; }
'