Re: [RFC PATCH v2 3/4] t7006-pager.sh: more lenient trace checking
From: Phillip Wood <hidden>
Date: 2021-04-23 12:45:14
Hi Emily On 23/04/2021 10:54, Phillip Wood wrote:
Hi Emily [...]quoted
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 onearly 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
quoted
+ grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits &&Why is $PAGER_CHILD_ID unquoted? Best Wishes Phillipquoted
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 onearly 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 pagernon-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 nonexistingpager 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 tononexisting 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 onpropagated 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