log tests: check if grep_config() is called by "log"-like cmds
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>
Ævar Arnfjörð Bjarmason committed
Feb 16, 2022 at 01:00 UTC
ff37a60c36959cc1d774e1a9b266291962e8624d
1 file changed
+24
t/t4202-log.sh
+24
@@ -449,6 +449,30 @@ test_expect_success !FAIL_PREREQS 'log with various grep.patternType configurati
449
)
450
'
451
452
+for cmd in show whatchanged reflog format-patch
453
+do
454
+ case "$cmd" in
455
+ format-patch) myarg="HEAD~.." ;;
456
+ *) myarg= ;;
457
+ esac
458
+
459
+ test_expect_success "$cmd: understands grep.patternType, like 'log'" '
460
+ git init "pattern-type-$cmd" &&
461
+ (
462
+ cd "pattern-type-$cmd" &&
463
+ test_commit 1 file A &&
464
+ test_commit "(1|2)" file B 2 &&
465
+
466
+ git -c grep.patternType=fixed $cmd --grep="..." $myarg >actual &&
467
+ test_must_be_empty actual &&
468
+
469
+ git -c grep.patternType=basic $cmd --grep="..." $myarg >actual &&
470
+ test_file_not_empty actual
471
+ )
472
+ '
473
+done
474
+test_done
475
+
476
test_expect_success 'log --author' '
477
cat >expect <<-\EOF &&
478
Author: <BOLD;RED>A U<RESET> Thor <author@example.com>