git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] test: fix for COLUMNS and bash 5

From
ZheNing Hu <adlternative@gmail.com>
Date
Aug 7, 2021, 01:37 UTC
Message-ID
<CAOLTT8S2_CucmhW8f6Ko8m5xUkfwSRjoqr_R_VyZdimGanMhoQ@mail.gmail.com>
In-Reply-To
<20210806164433.8665-1-felipe.contreras@gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> 于2021年8月7日周六 上午12:44写道:
Show 44 quoted lines
>
> 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>
> ---
>
> Since v1 moved the code before setting COLUMNS as SZEDER Gábor suggested
> and mention checkwinsize could be set before bash 5 as Ævar Arnfjörð
> Bjarmason mentioned.
>
> Range-diff against v1:
> 1:  40273074de < -:  ---------- test: fix for COLUMNS and bash 5
> -:  ---------- > 1:  9f8c3ffa6a test: fix for COLUMNS and bash 5
>
>  t/test-lib.sh | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index db61081d6b..6b1015a5af 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -409,6 +409,12 @@ then
>         verbose=t
>  fi
>
> +# In bash if checkwinsize is enabled the COLUMNS variable is updated every time
> +# an external command completes, even for non-interactive shells. Since bash 5.0
> +# this is enabled by default.
> +# Disable that since we are aiming for reproducibility.
> +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
> --
> 2.32.0.40.gb9b36f9b52
>
This can work on Arch-Linux. LGTM.

Thanks. -- ZheNing Hu

Previous: Felipe Contreras
Message 9 of 9 in “test: fix for COLUMNS and bash 5”
  1. test: fix for COLUMNS and bash 5Felipe Contreras, Aug 5, 2021
  2. Ævar Arnfjörð BjarmasonAug 5, 2021
  3. Felipe ContrerasAug 6, 2021
  4. SZEDER GáborAug 6, 2021
  5. Junio C HamanoAug 6, 2021
  6. Ævar Arnfjörð BjarmasonAug 23, 2021
  7. Junio C HamanoAug 23, 2021
  8. test: fix for COLUMNS and bash 5Felipe Contreras, Aug 6, 2021
  9. ZheNing HuAug 7, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.