On Thu, Aug 08, 2019 at 11:35:38AM +0000, brian m. carlson wrote: > On 2019-08-08 at 09:37:33, Jeff King wrote: > > On Wed, Aug 07, 2019 at 11:56:14PM -0700, Jonathan Nieder wrote: > > -- >8 -- > > Subject: [PATCH] t0000: reword comments for "local" test > > > > Commit 01d3a526ad (t0000: check whether the shell supports the "local" > > keyword, 2017-10-26) added a test to gather data on whether people run > > the test suite with shells that don't support "local". > > > > After almost two years, nobody has complained, and several other uses > > have cropped up in test-lib-functions.sh. Let's declare it acceptable to > > use. > > I'm also in favor of this patch. To my knowledge, the only FLOSS > POSIX-compliant shell that doesn't support "local" is AT&T ksh, so there > are a lot of alternatives that folks have (bash, dash, posh, zsh, mksh, > pdksh, busybox sh, etc.) in case they have a less capable shell. >From these shells: - dash and Bash work; no surprise there, being the default shells in some of the most popular Linux distros and GfW. - mksh works as well (just don't hit ctrl-C while running a test involving a daemon with '--verbose-log'). - Zsh seems to be fundamentally incapable to run our test framework. - BusyBox sh is fine for the most part, but there are a few test failures, where we rely on some options or capabilities of various system commands that are not supported by the corresponding BusyBox builtins. - posh can successfully run a lot of test scripts, but there are a lot of failures as well, it skips a few test scripts that it shouldn't (claiming that Perl and Bash are not available?!), and t0000 aborts with a 'bug in test framework' error. What's most worrying is that it reported a few "known breakage fixed" cases as well. - pdksh seems to be unavailable in my Linux distro, but since its name contains the "ksh" substring I'm sceptical. So there are not that many alternatives. Having said that, I'm in favor of using 'local'.