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

RE: [Test Breakage 2.46.0-rc0] Test t0021.35 fails on NonStop

From
rsbecker@nexbridge.com <rsbecker@nexbridge.com>
Date
Jul 14, 2024, 18:28 UTC
Message-ID
<004501dad61b$b35b7f30$1a127d90$@nexbridge.com>
In-Reply-To
<ZpQVwyVQT8Wf5AeX@tapette.crustytoothpaste.net>
On Sunday, July 14, 2024 2:16 PM, brian m. carlson wrote:
Show 44 quoted lines
>To: Junio C Hamano <gitster@pobox.com>
>Cc: rsbecker@nexbridge.com; git@vger.kernel.org
>Subject: Re: [Test Breakage 2.46.0-rc0] Test t0021.35 fails on NonStop
>
>On 2024-07-14 at 17:00:12, Junio C Hamano wrote:
>> <rsbecker@nexbridge.com> writes:
>>
>> > This looks like a different between ksh and bash. Under bash, the
>> > test works. I can live with that but will have to force bash to be
>> > used as the shebang #!/bin/sh defaults to ksh on this box.
>>
>> It turns out that the version of ksh I used in my description does not
>> seem to grok "local" at all. I vaguely recall that we've written off
>> various hobbist reimplementation of ksh as unusable enough, but this
>> one is ksh93 direct from AT&T Research.
>>
>> I guess when we said "as long as we limit our use to a simple 'this
>> variable has visibility limited to the function and its children'
>> and nothing else, it is portable enough across practically everybody
>> we care about", we have written off the real ksh, too.
>>
>> In the meantime, we may want to document this in a more prominent way.
>> Perhaps like so:
>>
>> -------- >8 --------------- >8 --------------- >8 --------
>> Subject: doc: guide to use of "local" shell language construct
>>
>> The scripted Porcelain commands do not allow use of "local" because it
>> is not universally supported, but we use it liberally in our test
>> scripts, which means some POSIX compliant shells (like "ksh93") can
>> not be used to run our tests.
>>
>> Document the status quo, and hint that we might want to change the
>> situation in the fiture.
>
>I don't think this is the right approach.  Every version of ksh _except_ AT&T ksh
>works just fine here.  pdksh, mksh, lksh, OpenBSD's ksh (which is also its /bin/sh)
>work fine, as do bash, dash, FreeBSD's sh (ash), Busybox's sh (also ash), and zsh
>(when run in sh mode with 5.9 or newer).  AT&T ksh is considering adding local in a
>newer version for this reason.
>
>Literally only AT&T ksh is not supported here, and so anyone can set SHELL_PATH to
>any suitable shell.  I don't think it's useful to get rid of local when there are a variety
>of acceptable and portable options.
We can add NonStop's ksh to the list of not supported. I'm using TEST_SHELL_PATH while running make all in the t directory. Test passes when I use bash. For some reason (maybe GNUMake 4.1, which is what I have in my POSIX environment, I don't get TEST_SHELL_PATH passed down from the outer Makefile, but I can work with that. t0021 is now passing in my current CI stream using bash 5.0.18.
--Randall
Previous: brian m. carlsonNext: brian m. carlson
Message 7 of 18 in “[Test Breakage 2.46.0-rc0] Test t0021.35 fails on NonStop”
  1. rsbecker@nexbridge.comJul 13, 2024
  2. Junio C HamanoJul 14, 2024
  3. rsbecker@nexbridge.comJul 14, 2024
  4. Junio C HamanoJul 14, 2024
  5. rsbecker@nexbridge.comJul 14, 2024
  6. brian m. carlsonJul 14, 2024
  7. rsbecker@nexbridge.comJul 14, 2024
  8. brian m. carlsonJul 14, 2024
  9. rsbecker@nexbridge.comJul 14, 2024
  10. Junio C HamanoJul 15, 2024
  11. rsbecker@nexbridge.comJul 15, 2024
  12. Junio C HamanoJul 15, 2024
  13. rsbecker@nexbridge.comJul 15, 2024
  14. Junio C HamanoJul 15, 2024
  15. rsbecker@nexbridge.comJul 15, 2024
  16. Junio C HamanoJul 15, 2024
  17. Eric SunshineJul 14, 2024
  18. rsbecker@nexbridge.comJul 14, 2024

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.