Re: [PATCH 1/2] t9400-git-cvsserver-server: don't rely on the output of 'test_cmp'
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Mar 8, 2018, 22:01 UTC
- Message-ID
- <CAPig+cRSDbFZ_C9opu3pr=m7HwFkeuoxUD_8Yqbd4XxX-W0cHg@mail.gmail.com>
- In-Reply-To
- <CAM0VKjmKcFVOLA-fFnSm=tVapa5qgUoU3Sa7RjSrqoHp5qXZiw@mail.gmail.com>
On Thu, Mar 8, 2018 at 4:49 PM, SZEDER Gábor <szeder.dev@gmail.com> wrote:
Show 18 quoted lines
> On Thu, Mar 8, 2018 at 7:51 PM, Eric Sunshine <sunshine@sunshineco.com> wrote: >> An alternative approach used elsewhere in the test suite[1] would be >> simply to 'exit' if test_cmp fails: >> >> for i in merge no-lf empty really-empty; do >> GIT_CONFIG="$git_config" cvs update -p "$i" >$i.out >> test_cmp $i.out ../$i || exit 1 >> done && > > And it's right: 'exit' terminates the shell process it's invoked in, > i.e. the whole test script (well, unless it's invoked in a subshell) > without executing the remaining tests and the usual housekeeping and > reporting. > > Consider the following test script: > > $ ./t9999-exit.sh > FATAL: Unexpected exit with code 1
Sorry for the confusion. I meant "return 1" as used elsewhere in the test suite[1].
--- >8 --- #!/bin/sh test_description='return 1?' . ./test-lib.sh
test_expect_success 'return 1' '
return 1
'test_expect_success 'second test' '
true
'test_done --- >8 ---
$ ./t9977.sh not ok 1 - return 1 # # return 1 # ok 2 - second test # failed 1 among 2 test(s) 1..2 $
[1]: For example, the "setup" test of t4151-am-abort.sh.