automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fix remake rule-induced test failures with HP-UX make.


From: Ralf Wildenhues
Subject: Re: Fix remake rule-induced test failures with HP-UX make.
Date: Sat, 15 Jan 2011 14:40:43 +0100
User-agent: Mutt/1.5.20 (2010-08-04)

* Stefano Lattarini wrote on Sat, Jan 15, 2011 at 01:51:54PM CET:
> On Saturday 15 January 2011, Ralf Wildenhues wrote:
> > Quoting parts of:
> > http://autobuild.josefsson.org/automake/log-201101150749395803000.txt
[...]
> > How about the patch below to not let this cause spurious testsuite
> > failures?
> >
> Seems (almost) good.  Just a couple of minor nits below ...
> 
> Oh, and please remember ot apply the patch to the maint-based
> temporary branch 'tests-colon-extend'.  FYI, last commit there
> should be `a46eda3752054eccd208f630611fefe0308eafc1'.

I amended tests-{colon,remake}-extend with the respective fixes, ...

> > If you prefer, I can split the typo fixes in a separate patch.
> >
> Well, I usually prefer having cosmetic/typofixing changes separated
> from bugfixes -- but not to the point of requiring you to rewrite
> this patch ;-)
> 
> So, do whatever you deem more appropriate.

... and split out the typo patch.

> > @@ -60,27 +60,31 @@ for vpath in : false; do
> >  
> >    cd demo
> >  
> > -  # version.good should depend from version.gin
> >    $sleep
> > +  # Avoid relying on non-existent toplevel am--refresh rule,
> > +  # presumably due to spurious timestamp issues.
> > +  touch Makefile
> >
> The comment seems too terse to me; what about this (stolen from your
> explanation above)?
> 
>  # Some make implementations (e.g., HP-UX make) seems to trigger rebuild
>  # rules for prerequisites that have the exact time stamps as targets (in
>  # this case, config.status and subdir Makefile).
>  # Since our setup here lacks a top-level Makefile, and thus the toplevel
>  # am--refresh rule, the rebuild rules are doomed to fail.
>  # We thus touch the Makefile to avoid triggering them.

Thanks.  While again I prefer documenting such issues in autoconf.texi,
some more verbosity might be prudent here; I went with this:

+  # HP-UX make considers targets with exact time stamps as one of their
+  # prerequisites out of date.  Ensure Makefile is newer than config.status to
+  # avoid triggering the am--refresh rule in the (here-nonexistent) toplevel
+  # Makefile.
+  touch Makefile

> > --- a/tests/remake1a.test
> > +++ b/tests/remake1a.test
> > @@ -17,6 +17,7 @@
> >  # Make sure remaking rules in subdir are correctly generated.
> >  # See also sister "grepping" test `remake.test'.
> >  
> > +required=GNUmake
> >  . ./defs || Exit 1
> >  
> >  fingerprint='=/FiNgErPrInT/='
> >
> [ OK, I'm going to be really nitpicking here ... ]
> If you require GNU make in this test, IMHO you can as well change
> the line:
> 
>   $MAKE Makefile
> 
> below with simply:
> 
>   $MAKE
> 
> On the other hand, the test is perfectly correct also as it stands,
> so you decide if the suggested change is worth the additional noise.

I prefer the longer line, as it is clearer what the desired action is,
and also it wouldn't remake unneeded other stuff 'all' might depend on.

Thanks for the quick review, pushed to master,
Ralf



reply via email to

[Prev in Thread] Current Thread [Next in Thread]