* Stefano Lattarini wrote on Wed, Sep 01, 2010 at 10:23:48PM CEST: > Before this patch, to force the consistent use of (say) ksh as the shell, > I had to resort to something like: > $ CONFIG_SHELL=/bin/ksh /bin/ksh ./configure CONFIG_SHELL=/bin/ksh > $ make > $ make (re)check TEST_LOG_COMPILER=/bin/ksh > or even, for non-GNU makes: > $ make (re)check TEST_LOG_COMPILER=/bin/ksh > AM_MAKEFLAGS='TEST_LOG_COMPILER=/bin/ksh' > where now I can simply do: > $ CONFIG_SHELL=/bin/ksh /bin/ksh ./configure CONFIG_SHELL=/bin/ksh > $ make > $ make (re)check > > OK for maint?
Well, the only qualm I have with this is that it will in the long run make it less likely that we are portable to /bin/sh too. Not a problem per se, but being able to do cd tests ./foo.test (or $srcdir/foo.test) to quickly run a test interactively may then expose a different behavior than ordinary 'make check' would. We could adjust the documentation to state that in order to run tests manually, one should do $good_shell ./foo.test but if you haven't used CONFIG_SHELL for configure (which is the case for virtually all users), they might not even know the value of $good_shell that would be used during 'make check'. Could cause slightly less reliably reproducible bug reports. The patch has obvious advantages though. How to best ameliorate the disadvantages? Thanks, Ralf > From cd63d7bb6e08879a3593ca21619dd0a588926b1b Mon Sep 17 00:00:00 2001 > From: Stefano Lattarini <stefano.lattar...@gmail.com> > Date: Wed, 1 Sep 2010 22:14:24 +0200 > Subject: [PATCH] Testsuite: use $SHELL to run tests which are shell scripts. > > * tests/Makefile.am (TEST_LOG_COMPILER): Define to $(SHELL), so > that test script are run by default with the best shell detected > at configure time, rather than with default system shell. > (TEST_EXTENSIONS): Defined to `.test', for clarity.