From c660afba5804763cdd59811bac1915a8f2fd0904 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 5 Jan 2017 15:47:06 +0000 Subject: [PATCH] test suite: Do not tolerate any stderr output from git-fsck We must tolerate notice: HEAD points to an unborn branch (master) notice: No default references which are generated by some of our existing test cases and are pretty much harmless. Signed-off-by: Ian Jackson --- tests/lib | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/tests/lib b/tests/lib index 569ca145..52aca71b 100644 --- a/tests/lib +++ b/tests/lib @@ -350,11 +350,34 @@ t-git-dir-check () { } t-expect-fsck-fail () { - expect_fsck_fail+=" $1" + echo >>$tmp/fsck.expected-errors "$1" } t-git-fsck () { - git fsck --no-dangling --strict || ${expect_fsck_fail:+true} false + set +e + LC_MESSAGES=C git fsck --no-dangling --strict 2>&1 \ + | tee dgit-test-fsck.errs + ps="${PIPESTATUS[*]}" + set -e + + local pats + if [ -f $tmp/fsck.expected-errors ]; then + pats=(-w -f $tmp/fsck.expected-errors) + else + test "$ps" = "0 0" + fi + pats+=(-e 'notice: HEAD points to an unborn branch') + pats+=(-e 'notice: No default references') + + set +e + grep -v "${pats[@]}" dgit-test-fsck.errs + rc=$? + set -e + case $rc in + 1) ;; # no unexpected errors + 0) fail "unexpected messages from git-fsck" ;; + *) fail "grep of git-fsck failed" ;; + esac } t-fscks () { -- 2.30.2