Merge branch 'jk/test-helper-v-output-fix' into next
authorJunio C Hamano <gitster@pobox.com>
Tue, 27 Feb 2018 19:15:13 +0000 (11:15 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 27 Feb 2018 19:15:13 +0000 (11:15 -0800)
Test framework update.

* jk/test-helper-v-output-fix:
t: send verbose test-helper output to fd 4

1  2 
t/test-lib-functions.sh
diff --combined t/test-lib-functions.sh
index 8a8a9329eeaa322121ecdbb3cd1f5fa6c9ecc94c,aabee13e5dd017c52d16e72f0e7f9bf973f60693..42a6781358f85cd43100078e7457e18962f6f07e
@@@ -610,14 -610,6 +610,14 @@@ list_contains () 
  #
  # Writing this as "! git checkout ../outerspace" is wrong, because
  # the failure could be due to a segv.  We want a controlled failure.
 +#
 +# Accepts the following options:
 +#
 +#   ok=<signal-name>[,<...>]:
 +#     Don't treat an exit caused by the given signal as error.
 +#     Multiple signals can be specified as a comma separated list.
 +#     Currently recognized signal names are: sigpipe, success.
 +#     (Don't use 'success', use 'test_might_fail' instead.)
  
  test_must_fail () {
        case "$1" in
        exit_code=$?
        if test $exit_code -eq 0 && ! list_contains "$_test_ok" success
        then
-               echo >&2 "test_must_fail: command succeeded: $*"
+               echo >&4 "test_must_fail: command succeeded: $*"
                return 1
        elif test_match_signal 13 $exit_code && list_contains "$_test_ok" sigpipe
        then
                return 0
        elif test $exit_code -gt 129 && test $exit_code -le 192
        then
-               echo >&2 "test_must_fail: died by signal $(($exit_code - 128)): $*"
+               echo >&4 "test_must_fail: died by signal $(($exit_code - 128)): $*"
                return 1
        elif test $exit_code -eq 127
        then
-               echo >&2 "test_must_fail: command not found: $*"
+               echo >&4 "test_must_fail: command not found: $*"
                return 1
        elif test $exit_code -eq 126
        then
-               echo >&2 "test_must_fail: valgrind error: $*"
+               echo >&4 "test_must_fail: valgrind error: $*"
                return 1
        fi
        return 0
  #
  # Writing "git config --unset all.configuration || :" would be wrong,
  # because we want to notice if it fails due to segv.
 +#
 +# Accepts the same options as test_must_fail.
  
  test_might_fail () {
        test_must_fail ok=success "$@"
@@@ -688,7 -678,7 +688,7 @@@ test_expect_code () 
                return 0
        fi
  
-       echo >&2 "test_expect_code: command exited with $exit_code, we wanted $want_code $*"
+       echo >&4 "test_expect_code: command exited with $exit_code, we wanted $want_code $*"
        return 1
  }
  
@@@ -752,18 -742,18 +752,18 @@@ test_i18ngrep () 
                shift
                ! grep "$@" && return 0
  
-               echo >&2 "error: '! grep $@' did find a match in:"
+               echo >&4 "error: '! grep $@' did find a match in:"
        else
                grep "$@" && return 0
  
-               echo >&2 "error: 'grep $@' didn't find a match in:"
+               echo >&4 "error: 'grep $@' didn't find a match in:"
        fi
  
        if test -s "$last_arg"
        then
-               cat >&2 "$last_arg"
+               cat >&4 "$last_arg"
        else
-               echo >&2 "<File '$last_arg' is empty>"
+               echo >&4 "<File '$last_arg' is empty>"
        fi
  
        return 1
  # not output anything when they fail.
  verbose () {
        "$@" && return 0
-       echo >&2 "command failed: $(git rev-parse --sq-quote "$@")"
+       echo >&4 "command failed: $(git rev-parse --sq-quote "$@")"
        return 1
  }