]> git.ipfire.org Git - thirdparty/git.git/commitdiff
test: fix for COLUMNS and bash 5
authorFelipe Contreras <felipe.contreras@gmail.com>
Thu, 5 Aug 2021 19:48:25 +0000 (14:48 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Aug 2021 16:59:55 +0000 (09:59 -0700)
Since c49a177bec (test-lib.sh: set COLUMNS=80 for --verbose
repeatability, 2021-06-29) multiple tests have been failing when using
bash 5 because checkwinsize is enabled by default, therefore COLUMNS is
reset using TIOCGWINSZ even for non-interactive shells.

It's debatable whether or not bash should even be doing that, but for
now we can avoid this undesirable behavior by disabling this option.

Reported-by: Fabian Stelzer <fabian.stelzer@campoint.net>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
[jc: with SZEDER Gábor's suggestion to do this before setting COLUMNS]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh

index 4d4439a9170046e07386fbb10c261cf9be68004f..52701afaea584852aa2d707357a0e4f6269f0162 100644 (file)
@@ -395,6 +395,12 @@ then
        verbose=t
 fi
 
+# Since bash 5.0, checkwinsize is enabled by default which does
+# update the COLUMNS variable every time a non-builtin command
+# completes, even for non-interactive shells.
+# Disable that since we are aiming for repeatability.
+test -n "$BASH_VERSION" && shopt -u checkwinsize 2>/dev/null
+
 # For repeatability, reset the environment to known value.
 # TERM is sanitized below, after saving color control sequences.
 LANG=C