bug-autoconf
[Top][All Lists]
Advanced

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

Re: Creating autotest testsuite gets stuck if package.m4.in contains unr


From: Ralf Wildenhues
Subject: Re: Creating autotest testsuite gets stuck if package.m4.in contains unresolved substitutions
Date: Wed, 24 Feb 2010 20:30:30 +0100
User-agent: Mutt/1.5.20 (2009-10-28)

Hello Niels,

* Niels Lohmann wrote on Tue, Feb 09, 2010 at 08:19:31AM CET:
> > The @ inside the address should not cause any problems.
> 
> indeed, it's not. When I use m4_define for the bug address, then I get
> the same error for AT_PACKAGE_STRING.
> 
> > Please check
> > again and provide us with something reproducible, or at least cut and
> > pasted commands+output that show that this is problematic.
> 
> Here is the output I get when I execute "make testsuite" for the attached 
> tarball:
> 
> -------------------------------------------------------------------------------
> /bin/sh /Users/niels/test/missing --run autom4te --language=autotest -I '.' 
> -o testsuite.tmp testsuite.at
> testsuite.at:1: error: : AT_PACKAGE_BUGREPORT is missing, consider writing 
> package.m4
> testsuite.at:1: the top level
> autom4te: /opt/local/bin/gm4 failed with exit status: 1
> -------------------------------------------------------------------------------
> 
> testsuite.at:1 is just "AT_INIT".

Your example needed some adaptation, but you're completely right about
the issue.  autoconf/lib/autotest/general.m4:AT_INIT has

[m4_ifndef([AT_PACKAGE_BUGREPORT], [m4_fatal(
  [$1: AT_PACKAGE_BUGREPORT is missing, consider writing package.m4])])]
[m4_define([AT_TESTSUITE_NAME],
  m4_defn([AT_PACKAGE_STRING])[ test suite]m4_ifval([$1],
   [m4_expand([: $1])]))]

which requires both AT_PACKAGE_STRING and AT_PACKAGE_BUGREPORT to be
defined as macros, not as shell variables.  Sorry about the wrong
advice there.  The manual documents this requirement, too:

 -- Macro: AT_INIT ([NAME])
     Initialize Autotest.  Giving a NAME to the test suite is
     encouraged if your package includes several test suites.  Before
     this macro is called, `AT_PACKAGE_STRING' and
     `AT_PACKAGE_BUGREPORT' must be defined, which are used to display
     information about the testsuite to the user.  Typically, these
     macros are provided by a file `package.m4' built by `make' (*note
     Making testsuite Scripts::), in order to inherit the package name,
     version, and bug reporting address from `configure.ac'.


I'm not sure whether this can easily be relaxed to require either a
m4_define or a shell variable, but as it stands, the code matches the
documentation, regardless of my earlier babble.  ;-)

Cheers,
Ralf




reply via email to

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