From 609f108165197b1d7a55a4908a321bad40a86442 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 10 Jun 2015 18:11:24 +0100 Subject: [PATCH] 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. --- tests/lib | 15 ++++++++++++++- tests/tests/debpolicy-newreject | 2 +- tests/tests/trustingpolicy-replay | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) 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 -- 2.30.2