Re: [PATCH v4 5/6] tests: don't lose "git" exit codes in "! ( git ... | grep )"

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

 



On 27/12/2022 16:44, Phillip Wood wrote:
On 19/12/2022 10:19, Ævar Arnfjörð Bjarmason wrote:
- For "t3700-add.sh" use "sed -n" to print the expected "bad" part,
   and use "test_must_be_empty" to assert that it's not there. If we used
   "grep" we'd get a non-zero exit code.

   We could use "test_expect_code 1 grep", but this is more consistent
   with existing patterns in the test suite.

It seems strange to use sed here, you could just keep using grep and check the output is empty if you don't want to use test_expect_code.

Sorry ignore that, using 'sed -n' means we don't have to worry about the exit code.

There is also no need to redirect the input of the sed commands.

Best Wishes

Phillip

   We can also remove a repeated invocation of "git ls-files" for the
   last test that's being modified in that file, and search the
   existing "files" output instead.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
---
  t/t0055-beyond-symlinks.sh | 14 ++++++++++++--
  t/t3700-add.sh             | 18 +++++++++++++-----
  2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/t/t0055-beyond-symlinks.sh b/t/t0055-beyond-symlinks.sh
index 6bada370225..c3eb1158ef9 100755
--- a/t/t0055-beyond-symlinks.sh
+++ b/t/t0055-beyond-symlinks.sh
@@ -15,12 +15,22 @@ test_expect_success SYMLINKS setup '
  test_expect_success SYMLINKS 'update-index --add beyond symlinks' '
      test_must_fail git update-index --add c/d &&
-    ! ( git ls-files | grep c/d )
+    cat >expect <<-\EOF &&
+    a
+    b/d
+    EOF
+    git ls-files >actual &&
+    test_cmp expect actual
  '
  test_expect_success SYMLINKS 'add beyond symlinks' '
      test_must_fail git add c/d &&
-    ! ( git ls-files | grep c/d )
+    cat >expect <<-\EOF &&
+    a
+    b/d
+    EOF
+    git ls-files >actual &&
+    test_cmp expect actual
  '
  test_done
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
index 51afbd7b24a..82dd768944f 100755
--- a/t/t3700-add.sh
+++ b/t/t3700-add.sh
@@ -106,24 +106,32 @@ test_expect_success '.gitignore test setup' '
  test_expect_success '.gitignore is honored' '
      git add . &&
-    ! (git ls-files | grep "\\.ig")
+    git ls-files >files &&
+    sed -n "/\\.ig/p" <files >actual &&
+    test_must_be_empty actual
  '
  test_expect_success 'error out when attempting to add ignored ones without -f' '
      test_must_fail git add a.?? &&
-    ! (git ls-files | grep "\\.ig")
+    git ls-files >files &&
+    sed -n "/\\.ig/p" <files >actual &&
+    test_must_be_empty actual
  '
  test_expect_success 'error out when attempting to add ignored ones without -f' '
      test_must_fail git add d.?? &&
-    ! (git ls-files | grep "\\.ig")
+    git ls-files >files &&
+    sed -n "/\\.ig/p" <files >actual &&
+    test_must_be_empty actual
  '
  test_expect_success 'error out when attempting to add ignored ones but add others' '
      touch a.if &&
      test_must_fail git add a.?? &&
-    ! (git ls-files | grep "\\.ig") &&
-    (git ls-files | grep a.if)
+    git ls-files >files &&
+    sed -n "/\\.ig/p" <files >actual &&
+    test_must_be_empty actual &&
+    grep a.if files
  '
  test_expect_success 'add ignored ones with -f' '



[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