I'd like to push the attached patch to the `msvc' branch. Peter, could you take a look at the patch, and preferably also test it? I want to have your ACK before proceeding.
Thanks. Stefano
From 4407ee34026b3eebeca5ff9d3e737f3f4a4b7bdf Mon Sep 17 00:00:00 2001 Message-Id: <4407ee34026b3eebeca5ff9d3e737f3f4a4b7bdf.1319542990.git.stefano.lattar...@gmail.com> From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Tue, 25 Oct 2011 13:43:00 +0200 Subject: [PATCH] tests: few improvements to some `ar-lib' related tests * tests/ar-lib5a.test (Makefile.am): Also check that the target library has truly been created. (ar-lib): Use the real `ar-lib' script (mildly patched) rather than a dummy one, to ensure better "real-life coverage". Fix botched shebang line. * tests/ar-lib5b.test: Extend the PATH variable to make the dummy `lib' script accessible, instead of explicitly calling it by its relative/absolute path. (ar-lib): Fix botched shebang line. (bin/lib): Likewise. Also, add explicative comments, and make slightly stricter. --- ChangeLog | 16 ++++++++++++++++ tests/ar-lib5a.test | 9 ++++++--- tests/ar-lib5b.test | 26 +++++++++++++++++++++----- 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 003b69a..3f50e29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2011-10-25 Peter Rosin <p...@lysator.liu.se> + + tests: few improvements to some `ar-lib' related tests + + * tests/ar-lib5a.test (Makefile.am): Also check that the target + library has truly been created. + (ar-lib): Use the real `ar-lib' script (mildly patched) rather + than a dummy one, to ensure better "real-life coverage". Fix + botched shebang line. + * tests/ar-lib5b.test: Extend the PATH variable to make the dummy + `lib' script accessible, instead of explicitly calling it by its + relative/absolute path. + (ar-lib): Fix botched shebang line. + (bin/lib): Likewise. Also, add explicative comments, and make + slightly stricter. + 2011-10-24 Peter Rosin <p...@lysator.liu.se> Merge branch 'maint' into msvc diff --git a/tests/ar-lib5a.test b/tests/ar-lib5a.test index cb73f92..fb09c5b 100755 --- a/tests/ar-lib5a.test +++ b/tests/ar-lib5a.test @@ -43,6 +43,7 @@ libwish_a_SOURCES = wish.c check-local: test x'$(am_cv_ar_interface)' = x'lib' test -f ar-lib-worked + test -f libwish.a MOSTLYCLEANFILES = ar-lib-worked END @@ -51,9 +52,11 @@ int wish(void) { return 0; } END mkdir auxdir -cat > auxdir/ar-lib << 'END' -# /bin/sh -:> ar-lib-worked +# FIXME: make this "installcheck-aware" once we are merged into the +# 'testsuite-work' branch. +cat - "$testsrcdir"/../lib > auxdir/ar-lib << 'END' +#! /bin/sh +: > ar-lib-worked END chmod +x auxdir/ar-lib diff --git a/tests/ar-lib5b.test b/tests/ar-lib5b.test index 181c24b..52deab5 100755 --- a/tests/ar-lib5b.test +++ b/tests/ar-lib5b.test @@ -51,7 +51,7 @@ END mkdir auxdir cat > auxdir/ar-lib << 'END' -# /bin/sh +#! /bin/sh :> ar-lib-worked END chmod +x auxdir/ar-lib @@ -59,14 +59,30 @@ chmod +x auxdir/ar-lib # Let's fake microsoft lib. mkdir bin cat > bin/lib << 'END' -# /bin/sh +#! /bin/sh +echo lib command line: $* >&2 # For debugging. case " $* " in + # The `-OUT:' option is used by tests in configure. So don't create + # the `ar-lib-worked' file here, as that might cause spurious passes + # of this test; but don't fail either, as that would confuse said + # configure tests. *' -OUT:'*) exit 0;; - *' cru '*) exit 1;; + # This means that $* looks like a command-line for `ar'. We have to + # exit with failure here, to accomodate the two following ortoghonal + # scenarios: + # 1. when `lib' is tested by configure, this will tell that it does + # not use the ar(1) interface, so that the `ar-lib' script will + # get involved; + # 2. when `lib' is called by the Makefile, an ar-style command line + # passed to it would mean that the `ar-lib' script has failed to + # properly munge the command line, or hasn't been invoked to do so. + *\ c*) exit 1;; + # Assume everything else is OK. *) : > ar-lib-worked;; esac END chmod +x bin/lib +PATH=`pwd`/bin$PATH_SEPARATOR$PATH; export PATH $ACLOCAL $AUTOCONF @@ -75,9 +91,9 @@ $AUTOMAKE --add-missing # Sanity check: test that it is ok to use `am_cv_ar_interface' as we do. $FGREP 'am_cv_ar_interface=' configure -./configure AR=bin/lib RANLIB=: +./configure AR=lib RANLIB=: $MAKE check -$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS="AR=`pwd`/bin/lib RANLIB=:" +$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS="AR=lib RANLIB=:" : -- 1.7.2.3