autoconf-patches
[Top][All Lists]
Advanced

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

Re: Avoid certain spurious `testsuite' rebuilds


From: Stepan Kasal
Subject: Re: Avoid certain spurious `testsuite' rebuilds
Date: Mon, 10 Apr 2006 11:40:33 +0200
User-agent: Mutt/1.4.1i

Hello,

On Sun, Apr 09, 2006 at 11:43:11AM -0700, Noah Misch wrote:
> [...] invalid.  Sorry for that.

No problem.

> Most of this patch has nothing to do with the original goal of avoiding some
> spurious `testsuite' rebuilds, [...]

Yes, you are right.  There are two changes:
 1) mktests.sh is no longer a maintainer tool, thus $(TESTSUITE_GENERATED_AT)
    are no longer distributed,
 2) avoid spurious rebuilds.

But I realized this too late, so I left it as a combined patch.

> They do expose folks who simply want to run the test suite of an unmodified
> Autoconf to any portability problems in `mktests.sh'.

I understand that mktests.sh is no longer considered maintainer-only, so this
should be OK.

> > --- tests/Makefile.am       9 Apr 2006 11:36:08 -0000       1.100
> > +++ tests/Makefile.am       9 Apr 2006 14:01:41 -0000
> 
> > -DISTCLEANFILES = atconfig atlocal $(TESTSUITE)
> > -MAINTAINERCLEANFILES = Makefile.in
> > +DISTCLEANFILES = atconfig atlocal $(TESTSUITE) $(TESTSUITE_GENERATED_AT)
> 
> While you're changing it, $(TESTSUITE) and $(TESTSUITE_GENERATED_AT) belong in
> MOSTLYCLEANFILES, not DISTCLEANFILES.

In theory, you might be right, because they are not created at configure time.

But there are two reasons why I decided to put them here:

1) I thought their cleanup could be ``delayed'' until distclean because they
are expensive and not platform dependent.

2) clean-local calls `./testsuite --clean' so you cannot put ./testsuite
to CLEANFILES.  You can add `rm -f ./testsuite' to clean-local, though.
For the same reason `make mostlyclean' cannot remove it; a subsequent
`make clean' wouldn't work then.

Before we hear from others, I'm leaving it in `make distclean'.

> > +$(TESTSUITE): $(TESTSUITE_dependencies) $(AUTOCONF_FILES)
> > +   $(srcdir)/mktests.sh $(AUTOCONF_FILES)
> > +   mv $@ address@hidden
> 
> This needs to be `if test -f $@; then mv $@ address@hidden; fi' or similar, 
> for when
> $(TESTSUITE) does not exist.

Sure, thanks for catching this.

> > --- tests/mktests.sh        8 Apr 2006 21:44:13 -0000       1.53
> > +++ tests/mktests.sh        9 Apr 2006 14:01:41 -0000
> 
> > +   diff ac$base.at ac$base.tat || :
> 
> This line was a debugging aid; delete it.

Done.
Moreover I made the change discussed elsewhere that mktests.sh should
fail in the created *.at file happens to be empty.

Attached please find an updated version of the patch.

Have a nice day,
        Stepan

Attachment: autoconf-20060410-testsuite.patch
Description: Text document


reply via email to

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