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