On Saturday 26 November 2011, Peter Rosin wrote: > > [SNIP] > > Stefano Lattarini skrev 2011-11-26 00:11: > > > On Friday 25 November 2011, Peter Rosin wrote: > >> > >> So, with those two fixes, one fail left, i.e. transform2.test. > >> It would be better with an xfail in my opinion, if that's possible to > >> accomplish conditionally? > >> > > Sadly, not easily (we could extend XFAIL_TESTS at configure time if we > > detect the above Cygwin limitation, but that's quote involved, and IMO > > would put the logic in the wrong place, i.e., configure.ac). Maybe in > > a next automake version we could add a new special exit status for test > > scripts to signal "expected failure", like e.g. `77' is used to signal > > "skipped test"? Still, that's for automake 1.11.3 at most, so I see > > only two ways out for now: > > A special exit status would only be another version of skip, with no > chance of unexpected success > Ouch, I didn't think about that.
> (if I read your proposal right). That's not right either. > You're right. Let's forget about this (BTW, starting with Automake 1.12, we'll have built-in TAP support, as well as support for adding custom test drivers, so the problem will be quite mitigated). > > 1. Add the test skip I proposed to branch-1.11 only, but *remove it* > > after the 1.11.2 release. > > 2. Just let the test fail, and be prepared to deal with some spurious > > reports. > > > > I'm 60-40 in favor of 2, since it doesn't add yet more noise to our > > repository. WDYT? > > I'm also in favor of leaving it as a plain old fail. A skip is a bit too > silent, and it's not like the bug list is flooding with reports on the > subject... > Agreed. Attached are the two patches I had promised. I'll wait 72 hours or your ACK (whichever comes first) before pushing. Regards, Stefano
From ff29c8e8f6572f63dcd30d10ef3ca1f6a19f754c Mon Sep 17 00:00:00 2001 Message-Id: <ff29c8e8f6572f63dcd30d10ef3ca1f6a19f754c.1322315745.git.stefano.lattar...@gmail.com> From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Sat, 26 Nov 2011 14:35:58 +0100 Subject: [PATCH 1/2] tests: work around a Cygwin limitation in 'txinfo21.test' * tests/txinfo21.test: At least on Cygwin, the timestamp of a directory might not be properly updated when a file inside it is changed; we need to account for this behaviour. Remove a redundant `$sleep' since we are at it. --- ChangeLog | 9 +++++++++ tests/txinfo21.test | 32 ++++++++++++++++++++++++++++---- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8e6587..65d6e88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-11-26 Stefano Lattarini <stefano.lattar...@gmail.com> + Peter Rosin <p...@lysator.liu.se> + + tests: work around a Cygwin limitation in 'txinfo21.test' + * tests/txinfo21.test: At least on Cygwin, the timestamp of a + directory might not be properly updated when a file inside it + is changed; we need to account for this behaviour. Remove a + redundant `$sleep' since we are at it. + 2011-11-24 Stefano Lattarini <stefano.lattar...@gmail.com> cosmetics: typofix in comments diff --git a/tests/txinfo21.test b/tests/txinfo21.test index ae1d985..70e43fe 100755 --- a/tests/txinfo21.test +++ b/tests/txinfo21.test @@ -22,6 +22,21 @@ required='makeinfo-html tex texi2dvi' set -e +# At least on Cygwin, the timestamp of a directory might not be +# properly updated when a file inside it is changed, and we need +# to account for that in later checks. +mkdir tmp.d +: > tmp.f +: > tmp.d/tmp.f +$sleep +touch tmp.d/tmp.f +if is_newest tmp.d tmp.f; then + have_correct_dir_timestamp=yes +else + have_correct_dir_timestamp=no +fi +rm -rf tmp.* + cat >>configure.in <<\EOF AC_CONFIG_FILES([rec/Makefile]) @@ -87,19 +102,28 @@ $AUTOCONF $MAKE -$sleep # Test production of split-per-node HTML. $MAKE html test -d main.html test -d sub/main2.html test -d rec/main3.html -# Rebuilding main.html should cause its timestamp to be updated. -is_newest main.html main.texi +# Rebuilding main.html should cause the timestamp of the regular +# file `main.html/index.html' to be updated. +is_newest main.html/index.html main.texi +# Rebuilding main.html should cause its timestamp to be updated +# (but main.html is a directory, so be prepared to account for the +# Cygwin limitation described above). +if test $have_correct_dir_timestamp = yes; then + is_newest main.html main.texi || Exit 1 +fi $sleep touch main.texi $MAKE html -is_newest main.html main.texi +is_newest main.html/index.html main.texi +if test $have_correct_dir_timestamp = yes; then + is_newest main.html main.texi || Exit 1 +fi $MAKE clean test ! -d main.html -- 1.7.2.3
From 9af81ac7c3a0d037f31638525b261246bc3ac815 Mon Sep 17 00:00:00 2001 Message-Id: <9af81ac7c3a0d037f31638525b261246bc3ac815.1322315745.git.stefano.lattar...@gmail.com> In-Reply-To: <ff29c8e8f6572f63dcd30d10ef3ca1f6a19f754c.1322315745.git.stefano.lattar...@gmail.com> References: <ff29c8e8f6572f63dcd30d10ef3ca1f6a19f754c.1322315745.git.stefano.lattar...@gmail.com> From: Peter Rosin <p...@lysator.liu.se> Date: Sat, 26 Nov 2011 14:54:00 +0100 Subject: [PATCH 2/2] tests: fix 'distcheck-override-infodir.test' on Cygwin * tests/distcheck-override-infodir.test (Makefile.am): Do not add any `/' between $(DESTDIR) and the following paths. Otherwise, when $(DESTDIR) is empty, the recipes will try to access files with a leading double slash, and these are interpreted specially under Cygwin (as "network paths" or "remote shares"). --- ChangeLog | 9 +++++++++ tests/distcheck-override-infodir.test | 8 ++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 65d6e88..70e5254 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-11-26 Peter Rosin <p...@lysator.liu.se> + + tests: fix 'distcheck-override-infodir.test' on Cygwin + * tests/distcheck-override-infodir.test (Makefile.am): Do not add + any `/' between $(DESTDIR) and the following paths. Otherwise, + when $(DESTDIR) is empty, the recipes will try to access files + with a leading double slash, and these are interpreted specially + under Cygwin (as "network paths" or "remote shares"). + 2011-11-26 Stefano Lattarini <stefano.lattar...@gmail.com> Peter Rosin <p...@lysator.liu.se> diff --git a/tests/distcheck-override-infodir.test b/tests/distcheck-override-infodir.test index 19ad3d1..3cf38c5 100755 --- a/tests/distcheck-override-infodir.test +++ b/tests/distcheck-override-infodir.test @@ -32,11 +32,11 @@ info_TEXINFOS = main.texi ## Sanity check. installcheck-local: if test x$${infodir+set} != xset; then \ - ls -l "$(DESTDIR)/$(prefix)/blah/blah/foobar/" || exit 1; \ - test -f "$(DESTDIR)/$(prefix)/blah/blah/foobar/dir" || exit 1; \ + ls -l "$(DESTDIR)$(prefix)/blah/blah/foobar/" || exit 1; \ + test -f "$(DESTDIR)$(prefix)/blah/blah/foobar/dir" || exit 1; \ else \ - ls -l "$(DESTDIR)/$$infodir/" || exit 1; \ - test -f "$(DESTDIR)/$$infodir/dir" || exit 1; \ + ls -l "$(DESTDIR)$$infodir/" || exit 1; \ + test -f "$(DESTDIR)$$infodir/dir" || exit 1; \ fi END -- 1.7.2.3