Re: [RFC PATCH v2 3/4] t7006-pager.sh: more lenient trace checking
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Apr 23, 2021, 12:45 UTC
- Message-ID
- <27d2ffe7-6f5b-726e-eed0-438a4efb8f9f@gmail.com>
- In-Reply-To
- <f4c3688e-8316-7f66-3bcb-d8aaeef3a7d3@gmail.com>
Hi Emily
On 23/04/2021 10:54, Phillip Wood wrote:
Show 18 quoted lines
> Hi Emily
> [...]
>> diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
>> index 0e7cf75435..ac2d91d56b 100755
>> --- a/t/t7006-pager.sh
>> +++ b/t/t7006-pager.sh
>> @@ -676,7 +676,9 @@ test_expect_success TTY 'git returns SIGPIPE on
>> early pager exit' '
>> test_terminal git log
>> fi &&
>> - grep child_exit trace.normal >child-exits &&
>> + PAGER_CHILD_ID=$(grep pager-used trace.normal | \
>> + sed -n "s/child_start\[\([0-9]\+\)\].*/\1/p") &&
>
> If you want to save a process you could use sed to do the job of the
> grep command. I think this should do it
>
> sed -n -e "/child_exit/ {" -e "s/child_start\[\([0-9]\+\)\].*/\1/p" -e "}"I must have been half asleep when I wrote that, there is no need for the braces and the initial match is wrong it should be
sed -n "/pager-used/s/child_start\[\([0-9]\+\)\].*/\1/p"
Best Wishes
Phillip
Show 68 quoted lines
>> + grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits && > > Why is $PAGER_CHILD_ID unquoted? > > Best Wishes > > Phillip > >> test_line_count = 1 child-exits && >> grep " code:0 " child-exits && >> test_path_is_file pager-used >> @@ -697,7 +699,9 @@ test_expect_success TTY 'git returns SIGPIPE on >> early pager non-zero exit' ' >> test_terminal git log >> fi && >> - grep child_exit trace.normal >child-exits && >> + PAGER_CHILD_ID=$(grep pager-used trace.normal | \ >> + sed -n "s/child_start\[\([0-9]\+\)\].*/\1/p") && >> + grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits && >> test_line_count = 1 child-exits && >> grep " code:1 " child-exits && >> test_path_is_file pager-used >> @@ -718,7 +722,9 @@ test_expect_success TTY 'git discards pager >> non-zero exit without SIGPIPE' ' >> test_terminal git log >> fi && >> - grep child_exit trace.normal >child-exits && >> + PAGER_CHILD_ID=$(grep pager-used trace.normal | \ >> + sed -n "s/child_start\[\([0-9]\+\)\].*/\1/p") && >> + grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits && >> test_line_count = 1 child-exits && >> grep " code:1 " child-exits && >> test_path_is_file pager-used >> @@ -739,7 +745,9 @@ test_expect_success TTY 'git discards nonexisting >> pager without SIGPIPE' ' >> test_terminal git log >> fi && >> - grep child_exit trace.normal >child-exits && >> + PAGER_CHILD_ID=$(grep does-not-exist trace.normal | \ >> + sed -n "s/child_start\[\([0-9]\+\)\].*/\1/p") && >> + grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits && >> test_line_count = 1 child-exits && >> grep " code:127 " child-exits && >> test_path_is_file pager-used >> @@ -760,7 +768,9 @@ test_expect_success TTY 'git attempts to page to >> nonexisting pager command, gets >> test_terminal git log >> fi && >> - grep child_exit trace.normal >child-exits && >> + PAGER_CHILD_ID=$(grep does-not-exist trace.normal | \ >> + sed -n "s/child_start\[\([0-9]\+\)\].*/\1/p") && >> + grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits && >> test_line_count = 1 child-exits && >> grep " code:-1 " child-exits >> ' >> @@ -780,7 +790,9 @@ test_expect_success TTY 'git returns SIGPIPE on >> propagated signals from pager' ' >> test_terminal git log >> fi && >> - grep child_exit trace.normal >child-exits && >> + PAGER_CHILD_ID=$(grep pager-used trace.normal | \ >> + sed -n "s/child_start\[\([0-9]\+\)\].*/\1/p") && >> + grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits && >> test_line_count = 1 child-exits && >> grep " code:143 " child-exits && >> test_path_is_file pager-used >> >