diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-06-10 18:11:24 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-06-10 18:11:24 +0100 |
commit | 609f108165197b1d7a55a4908a321bad40a86442 (patch) | |
tree | 576f67f8da6978a9d0990d6ab010bd855805098d | |
parent | 9f377842120dd8d6206a3f3f2eb297b3e4907fa8 (diff) |
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.
-rw-r--r-- | tests/lib | 15 | ||||
-rwxr-xr-x | tests/tests/debpolicy-newreject | 2 | ||||
-rwxr-xr-x | tests/tests/trustingpolicy-replay | 2 |
3 files changed, 16 insertions, 3 deletions
@@ -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 bda8694..82762bb 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 4fc3c17..79674fe 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 |