Re: Testsuite fails

2001-07-02 Thread Tom Tromey

> "Pavel" == Pavel Roskin <[EMAIL PROTECTED]> writes:

Pavel> I suggest that if a failing test is submitted, it should be
Pavel> added to XFAIL_TESTS in the same commit. It should be removed
Pavel> from XFAIL_TESTS in the same commit that fixes it.

I agree.  Sorry about that.  I checked in the fix.

Tom




Testsuite fails

2001-07-02 Thread Pavel Roskin

Hello!

The CVS version of Automake fails in libtool2.test. There is no
mostlyclean-libtool in sub/Makefile.in.

I suggest that if a failing test is submitted, it should be added to
XFAIL_TESTS in the same commit. It should be removed from XFAIL_TESTS in
the same commit that fixes it.

This way we would reserve the true failures for the problems nobody is
aware of, so that they can be spotted and reported immediately.

-- 
Regards,
Pavel Roskin





Re: Testsuite fails

2001-02-27 Thread Tom Tromey

> "adl" == Alexandre Duret-Lutz <[EMAIL PROTECTED]> writes:

adl> Is it an "ok" for my proposal or a "no, keep it as it is now"?
adl> Right now, I would have to call AC_CHECK_TOOL([STRIP],[strip])
adl> in my configure.in *before* calling AM_INIT_AUTOMAKE to make
adl> thinks work.

Yeah.  I think we should just change AM_PROG_INSTALL_STRIP to always
use install-sh.  I don't think it is very important to try to optimize
install-strip.

adl> Basically I'm asking the same thing for strip.  Except that
adl> since Autoconf 2.13 doesn't ship with an AC_PROG_STRIP macro
adl> that Automake can check for, this macro would be supplied by
adl> automake (unfortunately).

I don't want to supply it in automake.  We're moving out of the macro
business now that autoconf is maintained.

Tom




Re: Testsuite fails

2001-02-26 Thread Alexandre Duret-Lutz

>>> "Tom" == Tom Tromey <[EMAIL PROTECTED]> writes:

 >> "adl" == Alexandre Duret-Lutz <[EMAIL PROTECTED]> writes:

[...]

 adl> Otherwise, as install-strip is concerned, another idea is to:
 adl> 1) not call AM_PROG_INSTALL_STRIP from AM_INIT_AUTOMAKE
 adl> 2) revert all `commenting' that has been done in AM_PROG_INSTALL_STRIP
 adl> 3) ask the user to call AM_PROG_INSTALL_STRIP if she uses
 adl> AC_CANONICAL_HOST or AC_CANONICAL_TARGET (automake can
 adl> check for this, I guess).

 Tom> One reason I knew it was "ok" to disable this entirely is that
 Tom> packages which are set up for cross-compilation still have to do a lot
 Tom> of work themselves.  For instance they must search for the cross
 Tom> ranlib themselves.  That is, this is a general problem in autoconf
 Tom> that I prefer we solve there, not in automake.

Is it an "ok" for my proposal or a "no, keep it as it is now"?
Right now, I would have to call AC_CHECK_TOOL([STRIP],[strip])
in my configure.in *before* calling AM_INIT_AUTOMAKE to make
thinks work.

My package does cross-build successfully and I had no additional
work to do appart from calling AC_CANONICAL_HOST (only
install-strip fails, of course).  AC_PROG_RANLIB works for
cross-compilation too (at least in CVS autoconf, I have never
used the old), and Automake does check whether this macro is
called when it needs ranlib; this is great.

Basically I'm asking the same thing for strip.  Except that
since Autoconf 2.13 doesn't ship with an AC_PROG_STRIP macro
that Automake can check for, this macro would be supplied by
automake (unfortunately).

Yes, I'm asking a lot.
-- 
Alexandre Duret-Lutz




Re: Testsuite fails

2001-02-25 Thread Tom Tromey

> "adl" == Alexandre Duret-Lutz <[EMAIL PROTECTED]> writes:

Akim> Your explanation is very correct.  AC_CHECK_TOOL only needs
Akim> host_alias, hence there was no reason to require AC_CANONICAL_*.

adl> Has anyone a plan to change this in Automake?

Eventually when we move to traces this will change.

For now we must be conservative.  I believe the last released autoconf
still has the old behavior.  We must work with that.

adl> Otherwise, as install-strip is concerned, another idea is to:
adl>   1) not call AM_PROG_INSTALL_STRIP from AM_INIT_AUTOMAKE
adl>   2) revert all `commenting' that has been done in AM_PROG_INSTALL_STRIP
adl>   3) ask the user to call AM_PROG_INSTALL_STRIP if she uses
adl>  AC_CANONICAL_HOST or AC_CANONICAL_TARGET (automake can
adl>  check for this, I guess).

One reason I knew it was "ok" to disable this entirely is that
packages which are set up for cross-compilation still have to do a lot
of work themselves.  For instance they must search for the cross
ranlib themselves.  That is, this is a general problem in autoconf
that I prefer we solve there, not in automake.

Tom




Re: Testsuite fails

2001-02-25 Thread Alexandre Duret-Lutz

>>> "Akim" == Akim Demaille <[EMAIL PROTECTED]> writes:

 Akim> Pavel Roskin <[EMAIL PROTECTED]> writes:
 >> Hello, Tom!
 >> 
 >> > Pavel> AC_CHECK_TOOL([STRIP],[strip])
 >> >
 >> > Yes, I wasn't thinking.  I've removed this.
 >> >
 >> > Ideally we'd have some way to tell autoconf, "if this package can be
 >> > cross-compiled, then check for a cross `strip' as well".  Maybe
 >> > there's an ugly way to do this.
 >> 
 >> Actually, I think that Automake is wrong assuming that AC_CHECK_TOOL
 >> requires config.{guess,sub}. It's no longer true for the CVS Autoconf.
 >> 
 >> The idea of AC_CHECK_TOOL is that if you are cross-compiling for e.g.
 >> i386-aix, then configure should check for i386-aix-strip and for the
 >> canonicalized form, i386-ibm-aix-strip. If the canonicalized form cannot
 >> be found - no problem, don't check for it. Those who want to cross-compile
 >> are supposed to be smarter than normal users - they'll fix it if it fails.
 >> Not sure if Autoconf is doing exactly that, but at least configure runs
 >> without asking for config.{guess,sub}.

 Akim> Your explanation is very correct.  AC_CHECK_TOOL only needs
 Akim> host_alias, hence there was no reason to require AC_CANONICAL_*.

Has anyone a plan to change this in Automake?

Otherwise, as install-strip is concerned, another idea is to:
  1) not call AM_PROG_INSTALL_STRIP from AM_INIT_AUTOMAKE
  2) revert all `commenting' that has been done in AM_PROG_INSTALL_STRIP
  3) ask the user to call AM_PROG_INSTALL_STRIP if she uses
 AC_CANONICAL_HOST or AC_CANONICAL_TARGET (automake can
 check for this, I guess).

[...]

-- 
Alexandre Duret-Lutz




Re: Testsuite fails

2001-02-22 Thread Tom Tromey

> "Derek" == Derek R Price <[EMAIL PROTECTED]> writes:

>> I imagine we'll have to radically revamp the test suite when we
>> move to using autoconf's tracing feature.  The current test suite
>> is very dumb and doesn't usually generate a correct configure.in.

Derek> I'm working on this so I can test my conversion.  I've been
Derek> reading the puropse lines and I haven't noticed anything that
Derek> looks like it's going to ba a major problem yet, but can
Derek> anybody else think of anything in particular I should watch out
Derek> for?

In the past I've had to make systematic changes to the automake test
suite.  It sucks.  I'd like this to be the last major test suite
rewrite.  That means trying to modularize somehow.

Maybe rewriting the tests in some other language with better
functionality (eg Perl) would make this simpler.

Akim: I still haven't looked at autotest.

Tom




Re: Testsuite fails

2001-02-22 Thread Derek R. Price

Akim Demaille wrote:

> Pavel Roskin <[EMAIL PROTECTED]> writes:
>
> > We probably need a special macro, e.g.  AC_REQUIRE_FILE, so that the
> > macros will be able to indicate what files they need.
>
> This is what Derek and I are working on :)  But I doubt 2.50 will be
> the good starting point, 2.51 will.

Incidentally, I think we're going to need AM_ALL_LINGUAS or the like to replace
the simple ALL_LINGUAS variable set.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Since English is a mess, it maps well onto the problem space,
which is also a mess, which we call reality.

- Larry Wall







Re: Testsuite fails

2001-02-22 Thread Derek R. Price

Tom Tromey wrote:

> I imagine we'll have to radically revamp the test suite when we move
> to using autoconf's tracing feature.  The current test suite is very
> dumb and doesn't usually generate a correct configure.in.

I'm working on this so I can test my conversion.  I've been reading the
puropse lines and I haven't noticed anything that looks like it's going
to ba a major problem yet, but can anybody else think of anything in
particular I should watch out for?

I'm just about through the 'c's and it's been pretty straightforward so
far.  Mostly just adding AC_INIT, AM_INIT_AUTOMAKE, & AC_OUTPUT, then
calling $ACLOCAL before calling $AUTOMAKE.  The tests I've fixed work
with and without amtraces as well.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not torment the emotionally frail.
I will not torment the emotionally frail.
I will not torment the emotionally frail...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: Testsuite fails

2001-02-20 Thread Tom Tromey

> "Akim" == Akim Demaille <[EMAIL PROTECTED]> writes:

>> Ideally we'd have some way to tell autoconf, "if this package can
>> be cross-compiled, then check for a cross `strip' as well".  Maybe
>> there's an ugly way to do this.

Akim> But I think your request is precisely AC_CHECK_TOOL.  What
Akim> exactly do you mean?

Suppose I have AM_INIT_AUTOMAKE call AC_CHECK_TOOL.  Then every
package needs config.{guess,sub}.  (Or at least that was true in the
past.)

The idea is something like:

* the user declares a package suitable for cross compilation:
 AC_CAN_CROSS_COMPILE

* AM_INIT_AUTOMAKE conditionalizes on this:

AC_IF_CROSS([AC_CHECK_TOOL([STRIP],[strip])])

Akim> Also, my number one grief against the test suite is that it is
Akim> classified by alphabetical order, which looks cute, but is a
Akim> stupid an order as the random order.  We need to order them from
Akim> the ``innermost tests'' to the outermost, so that it gives us
Akim> some good intuition of *where* it fails, and what failures are
Akim> actually the same only one.

That would be nice, but the automake tests are really just a bunch of
regression tests.  Mostly they test for fairly specific bugs.  This
isn't a great quality to have in a test suite.

If someone wants to reorder them, that's fine, I guess.  I don't want
to do it since it seems like a lot of work for no particular reason.
One problem with reordering is deciding where to put a new test.

Tom




Re: Testsuite fails

2001-02-19 Thread Akim Demaille

Pavel Roskin <[EMAIL PROTECTED]> writes:

> Hello, Tom!
> 
> > Pavel> AC_CHECK_TOOL([STRIP],[strip])
> >
> > Yes, I wasn't thinking.  I've removed this.
> >
> > Ideally we'd have some way to tell autoconf, "if this package can be
> > cross-compiled, then check for a cross `strip' as well".  Maybe
> > there's an ugly way to do this.
> 
> Actually, I think that Automake is wrong assuming that AC_CHECK_TOOL
> requires config.{guess,sub}. It's no longer true for the CVS Autoconf.
> 
> The idea of AC_CHECK_TOOL is that if you are cross-compiling for e.g.
> i386-aix, then configure should check for i386-aix-strip and for the
> canonicalized form, i386-ibm-aix-strip. If the canonicalized form cannot
> be found - no problem, don't check for it. Those who want to cross-compile
> are supposed to be smarter than normal users - they'll fix it if it fails.
> Not sure if Autoconf is doing exactly that, but at least configure runs
> without asking for config.{guess,sub}.

Your explanation is very correct.  AC_CHECK_TOOL only needs
host_alias, hence there was no reason to require AC_CANONICAL_*.


> A lot of code in Automake was written when Autoconf had no maintainer, so
> Autoconf tried to compensate for Autoconf's shortcomings. It's time to
> start getting rid of that code.
> 
> On the other hand, Autoconf still lacks the ability to add missing files.
> But this should be fixed in Autoconf, not in Automake.

Agreed.

> Maybe tracing will help. 

It will.

> We probably need a special macro, e.g.  AC_REQUIRE_FILE, so that the
> macros will be able to indicate what files they need.

This is what Derek and I are working on :)  But I doubt 2.50 will be
the good starting point, 2.51 will.





Re: Testsuite fails

2001-02-19 Thread Akim Demaille

Tom Tromey <[EMAIL PROTECTED]> writes:

> > "Pavel" == Pavel Roskin <[EMAIL PROTECTED]> writes:
> 
> Pavel> AC_CHECK_TOOL([STRIP],[strip])
> 
> Yes, I wasn't thinking.  I've removed this.
> 
> Ideally we'd have some way to tell autoconf, "if this package can be
> cross-compiled, then check for a cross `strip' as well".  Maybe
> there's an ugly way to do this.

There is still plenty to do to clean up the interface Autoconf
provides to its users :(

But I think your request is precisely AC_CHECK_TOOL.  What exactly do
you mean?

 - Macro: AC_CHECK_TOOL (VARIABLE, PROG-TO-CHECK-FOR,
  [VALUE-IF-NOT-FOUND], [PATH])
 Like `AC_CHECK_PROG', but first looks for PROG-TO-CHECK-FOR with a
 prefix of the host type as determined by `AC_CANONICAL_HOST',
 followed by a dash (*note Canonicalizing::).  For example, if the
 user runs `configure --host=i386-gnu', then this call:
  AC_CHECK_TOOL(RANLIB, ranlib, :)

 sets `RANLIB' to `i386-gnu-ranlib' if that program exists in
 `PATH', or to `ranlib' if that program exists in `PATH', or to `:'
 if neither program exists.


or do you mean

if $cross_compiling; then
  AC_CHECK_TOOL([STRIP], [strip])
fi

?


> Pavel> But what bothers me is the fact that very serious patches were
> Pavel> committed without running the testsuite.
> 
> Yeah, that's my fault.  Sometimes I forget to do this.  That's bad.

Yeah, you're a bad guy :)


> gcc uses a nice regression framework that sends email to people who
> committed patches in the window where a new bug could have been
> introduced.  That seems like overkill for automake.

Well, if it's easy to install, I would do it!  Yep, this is overkill,
but some comfort through more automation is somewhat attractive.


> I imagine we'll have to radically revamp the test suite when we move
> to using autoconf's tracing feature.  The current test suite is very
> dumb and doesn't usually generate a correct configure.in.

Well, not to say `never'.

I would really enjoy seeing Automake move to Autotest.

Also, my number one grief against the test suite is that it is
classified by alphabetical order, which looks cute, but is a stupid an
order as the random order.  We need to order them from the ``innermost
tests'' to the outermost, so that it gives us some good intuition of
*where* it fails, and what failures are actually the same only one.

> Perhaps we could also rewrite the test suite to be faster somehow.
> Maybe writing most of it in Perl would help.

I considered several times having several Autotest target languages,
and Perl indeed seems a good one.  But let's not invent yet another
testing framework, let's go to Autotest!




Re: Testsuite fails

2001-02-18 Thread Pavel Roskin

Hello, Tom!

> Pavel> AC_CHECK_TOOL([STRIP],[strip])
>
> Yes, I wasn't thinking.  I've removed this.
>
> Ideally we'd have some way to tell autoconf, "if this package can be
> cross-compiled, then check for a cross `strip' as well".  Maybe
> there's an ugly way to do this.

Actually, I think that Automake is wrong assuming that AC_CHECK_TOOL
requires config.{guess,sub}. It's no longer true for the CVS Autoconf.

The idea of AC_CHECK_TOOL is that if you are cross-compiling for e.g.
i386-aix, then configure should check for i386-aix-strip and for the
canonicalized form, i386-ibm-aix-strip. If the canonicalized form cannot
be found - no problem, don't check for it. Those who want to cross-compile
are supposed to be smarter than normal users - they'll fix it if it fails.
Not sure if Autoconf is doing exactly that, but at least configure runs
without asking for config.{guess,sub}.

A lot of code in Automake was written when Autoconf had no maintainer, so
Autoconf tried to compensate for Autoconf's shortcomings. It's time to
start getting rid of that code.

On the other hand, Autoconf still lacks the ability to add missing files.
But this should be fixed in Autoconf, not in Automake.

Maybe tracing will help. We probably need a special macro, e.g.
AC_REQUIRE_FILE, so that the macros will be able to indicate what files
they need. The only question is whether it should be processed by
Autoconf, Automake or both.

Regards,
Pavel Roskin





Re: Testsuite fails

2001-02-18 Thread Tom Tromey

> "Pavel" == Pavel Roskin <[EMAIL PROTECTED]> writes:

Pavel> AC_CHECK_TOOL([STRIP],[strip])

Yes, I wasn't thinking.  I've removed this.

Ideally we'd have some way to tell autoconf, "if this package can be
cross-compiled, then check for a cross `strip' as well".  Maybe
there's an ugly way to do this.

Pavel> But what bothers me is the fact that very serious patches were
Pavel> committed without running the testsuite.

Yeah, that's my fault.  Sometimes I forget to do this.  That's bad.

cvs doesn't provide a way to force regression tests to be run on the
client system at commit time.  We could set it up to do this on the
server, but I'd prefer not to.

gcc uses a nice regression framework that sends email to people who
committed patches in the window where a new bug could have been
introduced.  That seems like overkill for automake.

Pavel> Some people are offended by this condition because it's
Pavel> _implied_. But now we have to think how to fix the testsuite
Pavel> that already fails.

I'm just directly removing the bug.

I imagine we'll have to radically revamp the test suite when we move
to using autoconf's tracing feature.  The current test suite is very
dumb and doesn't usually generate a correct configure.in.

Perhaps we could also rewrite the test suite to be faster somehow.
Maybe writing most of it in Perl would help.

Tom




Testsuite fails

2001-02-17 Thread Pavel Roskin

Hello!

After the changes committed today the testsuite fails. The first failing
test is aclocali.test:

$ make check TESTS=aclocali.test VERBOSE=1
make  check-TESTS
make[1]: Entering directory `/usr/local/src/automake.v0/tests'
=== Running test ./aclocali.test
automake: configure.in: required file `./config.guess' not found
automake: configure.in: required file `./config.sub' not found
FAIL: aclocali.test

I looked at the changes in init.m4 - now AM_INIT_AUTOMAKE calls
AM_PROG_INSTALL_STRIP, which ends with:

AC_CHECK_TOOL([STRIP],[strip])

AC_CHECK_TOOL requires config.status and config.sub. It's probably not a
big deal. As long as Autoconf and Automake develop, they face system
specific issues that can most effectively be dealt with when the system
name is known.

But some people may believe that config.guess is a road to hell - I don't
agree with them but I feel uncomfortably that they were not asked (i.e.
the problem was not identified because the testsuite failures hadn't been
detected)

The testsuite is probably easy to fix - maybe it's just the matter of
adding "--add-missing" to the definition of AUTOMAKE variable.

But what bothers me is the fact that very serious patches were committed
without running the testsuite. When I'm asked to comment about a patch I
often say - Ok if the testsuite passes. I.e. I don't see anything bad in
the patch, but I'm not a shell and not a perl interpreter to check the
syntax. However, I believe that the existing testsuite should catch
possible problems.

Some people are offended by this condition because it's _implied_. But now
we have to think how to fix the testsuite that already fails.

Regards,
Pavel Roskin