Subject: Re: [PATCH v2 3/3] test-lib.sh: support -x option for shell-tracing

From: Junio C Hamano <[email-masked]>
Date: Mon, 13 Oct 2014 15:22:50 -0700

Jeff King <[email-masked]> writes:

> On Fri, Oct 10, 2014 at 02:21:56AM -0400, Jeff King wrote:
>
>> diff --git a/t/test-lib.sh b/t/test-lib.sh
>> index a60ec75..81ceb23 100644
>> --- a/t/test-lib.sh
>> +++ b/t/test-lib.sh
>> @@ -237,7 +237,11 @@ do
>>  		shift ;;
>>  	-x)
>>  		test_eval_start_='set -x'
>> -		test_eval_end_='set +x'
>> +		test_eval_end_='
>> +			set +x
>> +			test "$test_eval_ret_" = 0 ||
>> +			  say_color error >&4 "last command exited with \$?=$?"
>
> That should be \$?=$test_eval_ret_, of course. The patch below fixes it.
>
> Rerolled patch is below. Sorry for all the emails. I'll stop looking at
> it now to give you guys a chance to find any remaining mistakes. ;)

Does 1308 pass with this patch for you (running it without "-x")?

The original that expects a hardcoded line number (not relative to
the original or something) is a bad taste, and also the test setup
procedure is broken (see below for a fix of that breakage, which
does not fix the breakage this patch seems to bring in anyway).

But still it is disturbing to see that there is a blank line
difference with and without this change in the file created by the
test (i.e. the client of the code this patch touches).

 t/t1308-config-set.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh
index ea0bce2..462bb64 100755
--- a/t/t1308-config-set.sh
+++ b/t/t1308-config-set.sh
@@ -23,7 +23,7 @@ check_config () {
 }
 
 test_expect_success 'setup default config' '
-	cat >.git/config <<\EOF
+	cat >.git/config <<-\EOF
 	[case]
 		penguin = very blue
 		Movie = BadPhysics