From: Ian Jackson Date: Wed, 10 Jun 2015 17:11:24 +0000 (+0100) Subject: Test suite: Make t-expect-fail flexible wrt which grep to run X-Git-Tag: debian/0.30~99 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=609f108165197b1d7a55a4908a321bad40a86442;hp=9f377842120dd8d6206a3f3f2eb297b3e4907fa8 Test suite: Make t-expect-fail flexible wrt which grep to run 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. --- diff --git a/tests/lib b/tests/lib index 776e2a3e..332bef24 100644 --- a/tests/lib +++ b/tests/lib @@ -44,12 +44,25 @@ END 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 () { diff --git a/tests/tests/debpolicy-newreject b/tests/tests/debpolicy-newreject index bda86947..82762bb4 100755 --- a/tests/tests/debpolicy-newreject +++ b/tests/tests/debpolicy-newreject @@ -45,7 +45,7 @@ t-git-dir-check enoent 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 diff --git a/tests/tests/trustingpolicy-replay b/tests/tests/trustingpolicy-replay index 4fc3c175..79674fef 100755 --- a/tests/tests/trustingpolicy-replay +++ b/tests/tests/trustingpolicy-replay @@ -47,7 +47,7 @@ prepare-replay () { 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