]> git.ipfire.org Git - thirdparty/git.git/commitdiff
log tests: check if grep_config() is called by "log"-like cmds
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Wed, 16 Feb 2022 00:00:31 +0000 (01:00 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Feb 2022 02:00:49 +0000 (18:00 -0800)
Extend the tests added in my 9df46763ef1 (log: add exhaustive tests
for pattern style options & config, 2017-05-20) to check not only
whether "git log" handles "grep.patternType", but also "git show"
etc.

It's sufficient to check whether we match a "fixed" or a "basic" regex
here to see if these codepaths correctly invoked grep_config(). We
don't need to check the details of their regular expression matching
as the "log" test does.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4202-log.sh

index 504955986197224ecc41c15e52fea98a021b9f00..e775b378e4b6d7924cf37827c62e63434ed3ffb0 100755 (executable)
@@ -449,6 +449,30 @@ test_expect_success !FAIL_PREREQS 'log with various grep.patternType configurati
        )
 '
 
+for cmd in show whatchanged reflog format-patch
+do
+       case "$cmd" in
+       format-patch) myarg="HEAD~.." ;;
+       *) myarg= ;;
+       esac
+
+       test_expect_success "$cmd: understands grep.patternType, like 'log'" '
+               git init "pattern-type-$cmd" &&
+               (
+                       cd "pattern-type-$cmd" &&
+                       test_commit 1 file A &&
+                       test_commit "(1|2)" file B 2 &&
+
+                       git -c grep.patternType=fixed $cmd --grep="..." $myarg >actual &&
+                       test_must_be_empty actual &&
+
+                       git -c grep.patternType=basic $cmd --grep="..." $myarg >actual &&
+                       test_file_not_empty actual
+               )
+       '
+done
+test_done
+
 test_expect_success 'log --author' '
        cat >expect <<-\EOF &&
        Author: <BOLD;RED>A U<RESET> Thor <author@example.com>