[v2,3/3] tests: defang pager tests by explicitly disabling the log.mailmap warning
diff mbox series

Message ID 20190712230204.16749-4-ariadne@dereferenced.org
State New
Headers show
Series
  • document deprecation of log.mailmap=false default
Related show

Commit Message

Ariadne Conill July 12, 2019, 11:02 p.m. UTC
In the previous patch, we added a deprecation warning for the current
log.mailmap setting. This warning only appears when git is attached to
a controlling terminal. Some tests however run under an emulated
terminal, so we need to disable the warning for those tests.

Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
---
 t/t7006-pager.sh | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Junio C Hamano July 14, 2019, 9:56 p.m. UTC | #1
Ariadne Conill <ariadne@dereferenced.org> writes:

> In the previous patch, we added a deprecation warning for the current
> log.mailmap setting. This warning only appears when git is attached to
> a controlling terminal. Some tests however run under an emulated
> terminal, so we need to disable the warning for those tests.
>
> Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
> ---
>  t/t7006-pager.sh | 10 ++++++++++
>  1 file changed, 10 insertions(+)

Hmm, this is horrible.  

These tests are primarily to see how use of color gets affected by
various configuration and the use of the pager, and having to
sprinkle log.mailmap configuration to just randomly selected 10
tests among 50+ tests in the script makes readers wonder if the
configuration has anything to do with the coloring (answer: no).

The primary reason why other 40+ tests do not need log.mailmap
tweaked is not because log.mailmap does not affect the coloring.
But for a new developer who will be adding a new test to this file,
how would s/he decide if the new test needs log.mailmap=false like
these 10, or it is like the other 40+?

It almost makes me feel that it would be much better to just disable
the warning inside the setup part, perhaps like

diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index 00e09a375c..283de499fc 100755
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
@@ -7,6 +7,8 @@ test_description='Test automatic use of a pager.'
 . "$TEST_DIRECTORY"/lib-terminal.sh
 
 test_expect_success 'setup' '
+	: squelch advise messages during the transition &&
+	git config --global log.mailmap false &&
 	sane_unset GIT_PAGER GIT_PAGER_IN_USE &&
 	test_unconfig core.pager &&

Patch
diff mbox series

diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index 00e09a375c..1c72aae197 100755
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
@@ -304,6 +304,7 @@  test_expect_success 'tests can detect color' '
 
 test_expect_success 'no color when stdout is a regular file' '
 	rm -f colorless.log &&
+	test_config log.mailmap false &&
 	test_config color.ui auto &&
 	git log >colorless.log &&
 	! colorful colorless.log
@@ -311,6 +312,7 @@  test_expect_success 'no color when stdout is a regular file' '
 
 test_expect_success TTY 'color when writing to a pager' '
 	rm -f paginated.out &&
+	test_config log.mailmap false &&
 	test_config color.ui auto &&
 	test_terminal git log &&
 	colorful paginated.out
@@ -318,6 +320,7 @@  test_expect_success TTY 'color when writing to a pager' '
 
 test_expect_success TTY 'colors are suppressed by color.pager' '
 	rm -f paginated.out &&
+	test_config log.mailmap false &&
 	test_config color.ui auto &&
 	test_config color.pager false &&
 	test_terminal git log &&
@@ -326,6 +329,7 @@  test_expect_success TTY 'colors are suppressed by color.pager' '
 
 test_expect_success 'color when writing to a file intended for a pager' '
 	rm -f colorful.log &&
+	test_config log.mailmap false &&
 	test_config color.ui auto &&
 	(
 		TERM=vt100 &&
@@ -337,6 +341,7 @@  test_expect_success 'color when writing to a file intended for a pager' '
 '
 
 test_expect_success TTY 'colors are sent to pager for external commands' '
+	test_config log.mailmap false &&
 	test_config alias.externallog "!git log" &&
 	test_config color.ui auto &&
 	test_terminal git -p externallog &&
@@ -573,6 +578,7 @@  test_expect_success TTY 'command-specific pager' '
 	sane_unset PAGER GIT_PAGER &&
 	echo "foo:initial" >expect &&
 	>actual &&
+	test_config log.mailmap false &&
 	test_unconfig core.pager &&
 	test_config pager.log "sed s/^/foo:/ >actual" &&
 	test_terminal git log --format=%s -1 &&
@@ -583,6 +589,7 @@  test_expect_success TTY 'command-specific pager overrides core.pager' '
 	sane_unset PAGER GIT_PAGER &&
 	echo "foo:initial" >expect &&
 	>actual &&
+	test_config log.mailmap false &&
 	test_config core.pager "exit 1" &&
 	test_config pager.log "sed s/^/foo:/ >actual" &&
 	test_terminal git log --format=%s -1 &&
@@ -593,6 +600,7 @@  test_expect_success TTY 'command-specific pager overridden by environment' '
 	GIT_PAGER="sed s/^/foo:/ >actual" && export GIT_PAGER &&
 	>actual &&
 	echo "foo:initial" >expect &&
+	test_config log.mailmap false &&
 	test_config pager.log "exit 1" &&
 	test_terminal git log --format=%s -1 &&
 	test_cmp expect actual
@@ -610,6 +618,7 @@  test_expect_success TTY 'command-specific pager works for external commands' '
 	sane_unset PAGER GIT_PAGER &&
 	echo "foo:initial" >expect &&
 	>actual &&
+	test_config log.mailmap false &&
 	test_config pager.external "sed s/^/foo:/ >actual" &&
 	test_terminal git --exec-path="$(pwd)" external log --format=%s -1 &&
 	test_cmp expect actual
@@ -619,6 +628,7 @@  test_expect_success TTY 'sub-commands of externals use their own pager' '
 	sane_unset PAGER GIT_PAGER &&
 	echo "foo:initial" >expect &&
 	>actual &&
+	test_config log.mailmap false &&
 	test_config pager.log "sed s/^/foo:/ >actual" &&
 	test_terminal git --exec-path=. external log --format=%s -1 &&
 	test_cmp expect actual