Change the default to fgrep, and override it in the places where this
is needed.
Also use shell substitution to quote .s in tag name in
debpolicy-newreject.
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
local gotstatus=${PIPESTATUS[0]}
set -o pipefail
test $gotstatus != 0
- egrep "$mpat" $tmp/t.output ||false
+ $grepper -e "$mpat" $tmp/t.output ||false
}
t-reporefs () {
t-commit 'should require --deliberately...questionable'
t-dgit build
-t-expect-fail "tag debian/$vanished referred to this object.*all previously pushed versions were found to have been removed" \
+t-expect-fail E:"tag debian/${vanished//./\\.} referred to this object.*all previously pushed versions were found to have been removed" \
t-dgit push --new
t-git-dir-check enoent
t-commit "request with $delib that we will replay"
t-dgit build
- t-expect-fail "policy-hook.*No such file or directory" \
+ t-expect-fail E:'policy-hook.*No such file or directory' \
t-dgit push $delib
t-policy dgit-repos-policy-trusting