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

Re: t0005-signals.sh fails with ksh

From
Jeff King <peff@peff.net>
Date
May 8, 2015, 21:14 UTC
Message-ID
<20150508211453.GA11594@peff.net>
In-Reply-To
<20150508205548.GB13457@peff.net>
On Fri, May 08, 2015 at 04:55:48PM -0400, Jeff King wrote:
Show 18 quoted lines
> > Does this work if you did
> > 
> > 	OUT=$( ( (large_git ; echo $? 1>&3) | : ) 3>&2 ) &&
> > 
> > instead?
> 
> It does for me. I've tested our suite with mksh before, and it passed
> (that's why the earlier check already covers ksh). But using the ksh I
> get from "apt-get install ksh" on Debian (ksh93, it looks like?) fails
> as described. The change above prevents the shell from crashing, and
> then if we also massage the code, the test passes (i.e., the patch
> below).
> 
> I'm on the fence, though, on declaring ksh93 to be unsupported. I don't
> know how many other instances of this are in our test suite, and it's
> one more maintenance headache to deal with. Are there really platforms
> with no actual POSIX shell (on Solaris, for example, the xpg6 shell is a
> much better choice)?

Hmph. I just ran the whole suite with SHELL_PATH=ksh. There are about 35 failures overall, and they are not all related. For instance, in t4014, it looks like a variable assignment just goes missing (whether it is because it is a one-shot against a function, or because it contains a bunch of utf8 characters, I'm not sure). We might be able to work around that. But some of the other failures leave me quite confused.

Here's an oddity I isolated based on a failure in t5502:
  $ git init foo && cd foo
  Initialized empty Git repository in /home/peff/foo/.git/
  $ (cd .git/objects && ls)
  info pack
OK, makes sense. Now...
  $ mkdir subdir && cd subdir
  $ ls ../.git/objects
  info  pack
  $ cd ../.git/objects
  ksh: cd: /home/peff/foo/git/objects: [No such file or directory]
Um, what? Apparently using "../.foo" will eat the "." off of "foo"?
-Peff
Previous: Jeff KingNext: Junio C Hamano
Message 4 of 11 in “t0005-signals.sh fails with ksh”
  1. evgenyMay 8, 2015
  2. Junio C HamanoMay 8, 2015
  3. Jeff KingMay 8, 2015
  4. Jeff KingMay 8, 2015
  5. Junio C HamanoMay 8, 2015
  6. evgenyMay 8, 2015
  7. Andreas SchwabMay 9, 2015
  8. Junio C HamanoMay 8, 2015
  9. Jeff KingMay 8, 2015
  10. brian m. carlsonMay 9, 2015
  11. evgenyMay 8, 2015

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.