Re: [Test Breakage 2.46.0-rc0] Test t0021.35 fails on NonStop
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- Jul 14, 2024, 22:01 UTC
- Message-ID
- <ZpRKu8Xsz70xNHFp@tapette.crustytoothpaste.net>
- In-Reply-To
- <004501dad61b$b35b7f30$1a127d90$@nexbridge.com>
On 2024-07-14 at 18:28:56, rsbecker@nexbridge.com wrote:
Show 12 quoted lines
> On Sunday, July 14, 2024 2:16 PM, brian m. carlson wrote: > >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.
I think we had discussed that you were using AT&T ksh on NonStop, which would explain the situation. That's the most common version of ksh on proprietary Unix systems, and you can usually detect it with something like this:
% ksh -c 'echo $KSH_VERSION' Version AJM 93u+m/1.0.8 2024-01-01
Variants of pdksh look like this (this one from OpenBSD):
% ksh -c 'echo $KSH_VERSION' @(#)PD KSH v5.2.14 99/07/13.2
And mksh and lksh (which are the same shell, just compiled differently, look like this:
% mksh -c 'echo $KSH_VERSION' @(#)MIRBSD KSH R59 2024/02/01 +Debian
% lksh -c 'echo $KSH_VERSION' @(#)LEGACY KSH R59 2024/02/01 +Debian
I think using bash as a workaround is the right choice here if all you have is AT&T ksh.
-- brian m. carlson (they/them or he/him) Toronto, Ontario, CA