Subject: Re: [PATCH] test-lib.sh: use awk instead of expr for a POSIX non integer check

From: Junio C Hamano <[email-masked]>
Date: Sun, 13 Mar 2022 07:34:35 +0000

Carlo Arenas <[email-masked]> writes:

> On Sat, Mar 12, 2022 at 6:21 PM Junio C Hamano <[email-masked]> wrote:
>>
>> Ævar Arnfjörð Bjarmason <[email-masked]> writes:
>>
>> > But probably better is to just amend that to call it as "test-tool libc
>> > is-glibc-2.34-or-newer" or whatever. Then just do:
>> >
>> >       if (__GLIBC__ > 2 || (__GLIBC__ == 2 && 34 >= __GLIBC_MINOR__))
>> >               return 0;
>> >       return 1;
>>
>> Yuck.  Then we'd have yet another libc-is-glibc-2.36-or-newer
>> option, too, in the future?
>
> Luckily that won't be needed, as this the original version (with expr)
> is practically good enough even if it might be a little odd looking
> and incorrect for 2.4 <= glibc <= 2.9 (which are over 10 years old).
>
>   $ expr 2.34 \<= "2.34.9000"
>   1
>   $ expr 2.34 \<= ""
>   0

Yeah, that is good.

What I was trying to get at was to extend Ævar's one trivially to

  $ test-tool libc-is-at-or-later-than 2.34

so that we can deal with

  $ test-tool libc-is-at-or-later-than 2.36

for free, but if we do not have to do anything, that is even better
;-)