Re: [RFC PATCH v2 3/4] t7006-pager.sh: more lenient trace checking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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






[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux