From: Phillip Wood Date: Fri, 23 Apr 2021 12:45:07 GMT Subject: Re: [RFC PATCH v2 3/4] t7006-pager.sh: more lenient trace checking Message-ID: <27d2ffe7-6f5b-726e-eed0-438a4efb8f9f@gmail.com> In-Reply-To: Hi Emily On 23/04/2021 10:54, Phillip Wood wrote: > 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 >> +    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 >> >