Thread (22 messages) 22 messages, 6 authors, 2021-06-19

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 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
quoted
+    grep -F "child_exit["$PAGER_CHILD_ID"]" trace.normal >child-exits &&
Why is $PAGER_CHILD_ID unquoted?

Best Wishes

Phillip
quoted
      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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help