Re: [PATCH] test-lib.sh: use awk instead of expr for a POSIX non integer check
- From
Elia Pinto <gitter.spiros@gmail.com>
- Date
- Mar 13, 2022, 19:02 UTC
- Message-ID
- <CA+EOSBm1wfO-RPJHiHZiUxokdt8MW3ufoCk_aJ4o7O=x1_nwDQ@mail.gmail.com>
- In-Reply-To
- <20220308113305.39395-1-carenas@gmail.com>
Il giorno mar 8 mar 2022 alle ore 12:34 Carlo Marcelo Arenas Belón <carenas@gmail.com> ha scritto:
Show 5 quoted lines
> > Restrict the glibc version to a single version number and compare it > arithmetically against the base glibc version to avoid accidentally > matching against "2.3" and better supporting versions like "2.34.9000" >
I didn't understand the problem. How glibc names the versions is known:
https://sourceware.org/glibc/wiki/Glibc%20Timeline
What is wrong with the expr statement ?
+ expr 2.34 '<=' 2.35 1 + expr 2.34 '<=' 2.34 1 + expr 2.34 '<=' 2.33 0 + expr 2.34 '<=' 2.32 0 + expr 2.34 '<=' 2.31 0 + expr 2.34 '<=' 2.30 0 + expr 2.34 '<=' 2.29 0 + expr 2.34 '<=' 2.28 0 + expr 2.34 '<=' 2.27 0 + expr 2.34 '<=' 2.26 0 + expr 2.34 '<=' 2.25 0 + expr 2.34 '<=' 2.24 0 + expr 2.34 '<=' 2.23 0 + expr 2.34 '<=' 2.22 0 + expr 2.34 '<=' 2.21 0 + expr 2.34 '<=' 2.20 0 + expr 2.34 '<=' 2.19 0 + expr 2.34 '<=' 2.18 0 + expr 2.34 '<=' 2.17 0 + expr 2.34 '<=' 2.16 0 + expr 2.34 '<=' 2.15 0 + expr 2.34 '<=' 2.13
Show 25 quoted lines
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
> t/test-lib.sh | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index 8e59c58e7e7..f624f87eb81 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -518,9 +518,9 @@ else
> setup_malloc_check () {
> MALLOC_CHECK_=3 MALLOC_PERTURB_=165
> export MALLOC_CHECK_ MALLOC_PERTURB_
> - if _GLIBC_VERSION=$(getconf GNU_LIBC_VERSION 2>/dev/null) &&
> - _GLIBC_VERSION=${_GLIBC_VERSION#"glibc "} &&
> - expr 2.34 \<= "$_GLIBC_VERSION" >/dev/null
> + local _GLIBC_VERSION=$(getconf GNU_LIBC_VERSION 2>/dev/null)
> + if echo "$_GLIBC_VERSION" | cut -d. -f1-2 |
> + awk '{ if ($2 - 2.34 < 0) exit 1 }'
> then
> g=
> LD_PRELOAD="libc_malloc_debug.so.0"
> --
> 2.35.1.505.g27486cd1b2d
>