Re: * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
On Monday 05 September 2011, Peter Rosin wrote: > Den 2011-09-05 11:37 skrev Stefano Lattarini: > > Ouch! Silly me for not thinking about that. > > And the quoting was off too, should have been s/\././g to > do what you intended... :-) > Double ouch, you're right again! $ x=`echo a.b | sed 's/\./\\./g'`; printf '%s\n' "$x" a.b I should really give up attemping to understand how the `\' escaping works inside backticks... I've been burned so many times, sigh... :-( And maybe it's about time to write a configure check that looks for a POSIX shell, so that we can run our tests with it and dispense with the clumsy workarounds for exotic bugs and limitations; most of the framework is already in place anyway (e.g., automatic re-execing of tests with the configure-time shell), so that shouldn't be too difficult. But I'm cooking another patch right now, so this will have to wait. > Pushed now, thanks for looking! > Regards, Stefano
Re: * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
Den 2011-09-05 11:37 skrev Stefano Lattarini: > On Monday 05 September 2011, Peter Rosin wrote: >> Den 2011-09-05 10:06 skrev Stefano Lattarini: >>> On Monday 05 September 2011, Peter Rosin wrote: Hi! >>> Hi Peter, thanks for the patch. >>> This fixes a fail on Cygwin (and others I suppose). I'm aware that the lax non-gnu-tar branch adds even more laxness since $EXEEXT normally contains a dot for the oddball cases when it's non-empty, but that's so minor that I didn't bother to code around it... Ok for maint? >>> I only have a minor nit: I'd prefer the extraction of `EXEEXT' from >>> Makefile to be done by something like this (avoiding use of "eval"): >>> >>> EXEEXT=`sed -n -e 's/^EXEEXT *= *//p'` >>> >>> And BTW, this could also be improved to allow escaping of literal >>> dots, as in: >>> >>> EXEEXT=`sed -n '/^EXEEXT *=/{ s/^EXEEXT *= *//; s/\./\\./g; p; }'` >>> >>> WDYT? >> >> I'm ok with your first alternative, but the second is undefined >> according to posix (at least 'Limitations of usual tools' in >> Autoconf states so; you can't have semicolon after a '{' verb) >> > Ah right; thank you for digging that up. > >> and, even worse, it breaks for the gnu tar branch. >> > Ouch! Silly me for not thinking about that. And the quoting was off too, should have been s/\././g to do what you intended... :-) >> So, unless someone else chimes in I'm pushing with this >> >> EXEEXT=`sed -n -e 's/^EXEEXT *= *//p' < ../Makefile` >> >> sometime later today. >> > Fine by me. Pushed now, thanks for looking! Cheers, Peter
[PATCH] {testsuite-work} installcheck: support it in our own testsuite
I will push this in a couple of days; reviews are welcome. * tests/defs-static.in ($am_running_installcheck): New variable. Initialize it to a default of "no", and sanity-check its value. ($am_datadir, $am_docdir, $am_m4dir, $am_bindir, $am_scriptdir, $am_pkgvdir): New variables, initialized from AC_SUBST'ed values which are adaptively chosen depending on whether the testsuite is running in "simple" mode or in "installcheck" mode. ($MISSING): Remove, it's not really required by the testsuite. ($PATH): Update using `$am_bindir', not `$testbuilddir'. * Makefile.am (installcheck-local): New target. * lib/Automake/tests/Makefile.am (installcheck-local): New target. (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the `-I' flags for perl based on whether the tests are being run by "make check" or "make installcheck". * tests/Makefile.am (installcheck-local): New target. (defs-static): Generate it at make time, not at configure time; done with the help of ... (do_subst): ... this new macro. (EXTRA_DIST): Explicitly distribute `defs-static.in'. (CLEANFILES): Remove `defs-static'. * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'. (AC_SUBST): Substitute also `m4datadir', `scriptdir' and `amdir' to proper values. * m4/Makefile.am (m4datadir): Don't explicitly define anymore. * lib/Makefile.am (scriptdir): Likewise. * lib/am/Makefile.am (amdir): Likewise. * tests/amhello-binpkg.test: Use new `$am_...dir' variables, instead of hard-coding values with $testsrcdir and $testbuilddir, to test more faithfully under "make installcheck". * tests/amhello-cflags.test: Likewise. * tests/amhello-cross-compile.test: Likewise. * tests/ansi2knr-no-more.test: Likewise. * tests/autodist-stamp-vti.test: Likewise. * tests/auxdir.test: Likewise. * tests/check2.test: Likewise. * tests/copy.test: Likewise. * tests/multlib.test: Likewise. * tests/obsolete.test: Likewise. * tests/parallel-tests-interrupt.test: Likewise. * tests/repeated-options.test: Likewise. * tests/suffix5.test: Likewise. * tests/tap-doc2.test: Likewise. * tests/txinfo22.test: Likewise. * tests/vtexi3.test: Likewise. * tests/defs: Likewise. Also, print the values of `$using_tap' and `$am_running_installcheck', to simplify debugging, and do some related code movings and tweakings. * tests/aclocal3.test: Update to avoid possible spurious failures when running under "make installcheck". * tests/warnings-unknown.test: Likewise. * tests/location.test: Likewise, and improve debugging input since we are at it. * tests/aclocal.test: Skip a check that does not (yet) work under "make installcheck". * tests/acloca10.test: Skip when doing a "make installcheck". * tests/acloca18.test: Likewise. * tests/dirlist.test: Likewise. * tests/dirlist2.test: Likewise. * tests/README: Update. --- ChangeLog | 62 ++ Makefile.am |4 ++ Makefile.in | 18 ++-- configure | 13 +- configure.ac|5 +- doc/Makefile.in |3 + lib/Automake/Makefile.in|3 + lib/Automake/tests/Makefile.am | 15 ++- lib/Automake/tests/Makefile.in | 29 ++ lib/Makefile.am |1 - lib/Makefile.in |4 +- lib/am/Makefile.am |2 - lib/am/Makefile.in |4 +- m4/Makefile.am |4 +- m4/Makefile.in |6 ++- tests/Makefile.am | 47 +++ tests/Makefile.in | 72 +-- tests/README|7 +++ tests/acloca10.test |5 ++ tests/acloca18.test |5 ++ tests/aclocal.test |5 ++- tests/aclocal3.test |8 +++- tests/amhello-binpkg.test |2 +- tests/amhello-cflags.test |2 +- tests/amhello-cross-compile.test|4 +- tests/ansi2knr-no-more.test |2 +- tests/autodist-stamp-vti.test |2 +- tests/auxdir.test |2 +- tests/check2.test |2 +- tests/copy.test |4 +- tests/defs | 39 +++ tests/defs-static.in| 36 +++-- tests/depmod.tap|2 +- tests/dirlist.test |5 ++ tests/dirlist2.test |5 ++ tests/location.test | 27 +++-- tests/multlib.test |3 +- tests/obsolete.test |2 +- tests/parallel-tests-interrupt.test |2 +- tests/repeated-options.test |2 +- tests/suffix5.test |2 +- tests/tap-doc2.test |2 +- tests/txinfo22.test |2 +- tests/vtexi3.test |2
Re: * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
On Monday 05 September 2011, Peter Rosin wrote: > Den 2011-09-05 10:06 skrev Stefano Lattarini: > > On Monday 05 September 2011, Peter Rosin wrote: > >> Hi! > >> > > Hi Peter, thanks for the patch. > > > >> This fixes a fail on Cygwin (and others I suppose). > >> > >> I'm aware that the lax non-gnu-tar branch adds even more laxness > >> since $EXEEXT normally contains a dot for the oddball cases when > >> it's non-empty, but that's so minor that I didn't bother to code > >> around it... Ok for maint? > >> > > I only have a minor nit: I'd prefer the extraction of `EXEEXT' from > > Makefile to be done by something like this (avoiding use of "eval"): > > > > EXEEXT=`sed -n -e 's/^EXEEXT *= *//p'` > > > > And BTW, this could also be improved to allow escaping of literal > > dots, as in: > > > > EXEEXT=`sed -n '/^EXEEXT *=/{ s/^EXEEXT *= *//; s/\./\\./g; p; }'` > > > > WDYT? > > I'm ok with your first alternative, but the second is undefined > according to posix (at least 'Limitations of usual tools' in > Autoconf states so; you can't have semicolon after a '{' verb) > Ah right; thank you for digging that up. > and, even worse, it breaks for the gnu tar branch. > Ouch! Silly me for not thinking about that. > So, unless someone else chimes in I'm pushing with this > > EXEEXT=`sed -n -e 's/^EXEEXT *= *//p' < ../Makefile` > > sometime later today. > Fine by me. Thanks, Stefano
Re: * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
Den 2011-09-05 10:06 skrev Stefano Lattarini: > On Monday 05 September 2011, Peter Rosin wrote: >> Hi! >> > Hi Peter, thanks for the patch. > >> This fixes a fail on Cygwin (and others I suppose). >> >> I'm aware that the lax non-gnu-tar branch adds even more laxness >> since $EXEEXT normally contains a dot for the oddball cases when >> it's non-empty, but that's so minor that I didn't bother to code >> around it... Ok for maint? >> > I only have a minor nit: I'd prefer the extraction of `EXEEXT' from > Makefile to be done by something like this (avoiding use of "eval"): > > EXEEXT=`sed -n -e 's/^EXEEXT *= *//p'` > > And BTW, this could also be improved to allow escaping of literal > dots, as in: > > EXEEXT=`sed -n '/^EXEEXT *=/{ s/^EXEEXT *= *//; s/\./\\./g; p; }'` > > WDYT? I'm ok with your first alternative, but the second is undefined according to posix (at least 'Limitations of usual tools' in Autoconf states so; you can't have semicolon after a '{' verb) and, even worse, it breaks for the gnu tar branch. So, unless someone else chimes in I'm pushing with this EXEEXT=`sed -n -e 's/^EXEEXT *= *//p' < ../Makefile` sometime later today. Cheers, Peter
Re: * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
On Monday 05 September 2011, Peter Rosin wrote: > Hi! > Hi Peter, thanks for the patch. > This fixes a fail on Cygwin (and others I suppose). > > I'm aware that the lax non-gnu-tar branch adds even more laxness > since $EXEEXT normally contains a dot for the oddball cases when > it's non-empty, but that's so minor that I didn't bother to code > around it... Ok for maint? > I only have a minor nit: I'd prefer the extraction of `EXEEXT' from Makefile to be done by something like this (avoiding use of "eval"): EXEEXT=`sed -n -e 's/^EXEEXT *= *//p'` And BTW, this could also be improved to allow escaping of literal dots, as in: EXEEXT=`sed -n '/^EXEEXT *=/{ s/^EXEEXT *= *//; s/\./\\./g; p; }'` WDYT? Thanks, Stefano