On Tue, May 31, 2016 at 03:47:01PM -0700, Junio C Hamano wrote: > The test has two things ksh93 does not happy about: > > * It thinks "(( command1; command2 ) | command3)" is a perfectly > sane way to write a pipeline. ksh93, unlike other POSIX shells, > does not like the two open parentheses next to each other for > whatever reason it has. > > * It adds 256, unlike 128 that are used by other POSIX shells, to > the signal number that caused the process to die when coming up > with the exit status. > > What is interesting is that we knew about the latter issue and had a > workaround in the test-sigchain test when verifying that SIGTERM > works OK, but we didn't have corresponding workaround for SIGPIPE. Hmm. We discussed these back in: http://thread.gmane.org/gmane.comp.version-control.git/268657 but I thought we decided not to do anything about them (according to that thread, I found a bunch of other ksh93 oddities, but maybe we've since fixed them?). > +died_with_sigpipe () { > + case "$1" in > + 141 | 269) > + # POSIX w/ SIGPIPE=13 gives 141 > + # ksh w/ SIGPIPE=13 gives 269 > + true ;; > + *) false ;; > + esac > +} This is OK, but I like the patch I posted in http://article.gmane.org/gmane.comp.version-control.git/268666 better, as it contains the shell logic in a single place (though I am not sure how these tests fare on Windows, where I think every signal just looks like "3"). -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html