[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCHES] Fix spurious Lex/Yacc-related failures in tests `silent*.t
From: |
Stefano Lattarini |
Subject: |
Re: [PATCHES] Fix spurious Lex/Yacc-related failures in tests `silent*.test' w.r.t. Solaris XPG4 make. |
Date: |
Thu, 18 Nov 2010 13:24:02 +0100 |
User-agent: |
KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; ) |
On Thursday 18 November 2010, Ralf Wildenhues wrote:
> * Stefano Lattarini wrote on Wed, Nov 17, 2010 at 09:10:08PM CET:
> > I'm seeing this failure with Solaris XPG4 make:
>
> > $ MAKE=/usr/xpg4/bin/make sh silentyacc.test
> > silentyacc: running bison --version
> > bison (GNU Bison) 2.4.1
> > Written by Robert Corbett and Richard Stallman.
> [...]
>
> > A similar failure happens with heirlom make on Debian GNU/Linux.
> >
> > Also, the tests `silentlex.test' and `silent5.test' experience
> > similar spurious failures with those two make implementations.
> >
> > Now, these failures (which are due to the fact that those versions
> > of make do not chain implicit rules) are spurious in regard to the
> > being-tested "silent-rules" functionality, and easily worked around
> > by adding proper explicit dependency declarations to the generated
> > Makefile.am. So I'd like to apply the attached patches to temporary
> > bugfixing branches, and merge them to maint.
> >
> > Objections?
>
> Yes. Do you expect our users to have to add the same rules (which
> expose internal details, namely the object file names) to their
> Makefile.am files, just so things are silent? I don't think so.
>
Well, the users would probably need to add those rules to have things
work *at all*, not just for the silent rules to work, so this is not
a bug in silent-rules support, but in general Lex/Yacc support.
> So no, I don't think covering up those test failures is the right
> way to go.
>
We are not covering them: there are other Lex/Yacc tests which are
dutifully failing with those make implementations, and I don't intend
to "fix" those tests, becuase (as you noticed) they are exposing a
real problem.
> Even more, the added rules even change semantics of the build
> independently of silent-rules or not; *that* is something we
> need to fix in Automake proper.
>
In the long run, yes; but for the moment, I think it's better to fix
the tests to avoid spurious failures. Otherwise, a future change
might introduce another bug causing (say) a testlex.test failure
w.r.t. silent-rules output when Solaris make is used, and we won't
see it becuase "that test is expected to fail anyway with Solaris
make".
> I think there might even be a pending patch from you for this.
>
Yes, an oldish one:
<http://lists.gnu.org/archive/html/automake-patches/2010-05/msg00021.html>
> Remember, we don't have to (and I don't want to) fix all test failures
> just so that we don't see any FAILs in the logs. If things are broken,
> then it is good to see that in the logs.
>
Yes, but here silent-rules are *not* broken, so *these* tests should
not fail (while other tests on Lex/Yacc should, and do, fail).
> Aside, again I don't see why this couldn't have been a single patch.
>
For the smae reasons stated in a previous thread: bugs/limitations
fixed here were introduced in different commits; but I can merge the
three patches on the top of maint, and push that, if you prefer: it's
really not big deal for me.
In the end, given the rationales above, would you re-evaluate the
usefulness of the patch?
Thanks,
Stefano