GNU bug report logs -
#13477
automake 1.13 breaks when TESTS variable contains GNU make macros like $(sort ...)
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 13477 in the body.
You can then email your comments to 13477 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-automake <at> gnu.org
:
bug#13477
; Package
automake
.
(Thu, 17 Jan 2013 17:10:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Richard W.M. Jones" <rjones <at> redhat.com>
:
New bug report received and forwarded. Copy sent to
bug-automake <at> gnu.org
.
(Thu, 17 Jan 2013 17:10:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
I have a project that has a TESTS variable like this ('test_progs' is
defined elsewhere):
TESTS = run-bindtests \
$(sort \
$(patsubst %,%.bc,$(test_progs)) \
$(patsubst %,%.opt,$(test_progs)))
This breaks with automake 1.13.1. 'make' gives unterminated variable
errors. It is fairly obvious why when you look at the generated code:
run-bindtests.log: run-bindtests
@p='run-bindtests'; \
b='run-bindtests'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
$(sort.log: $(sort
@p='$(sort'; \
b='$(sort'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
$(patsubst.log: $(patsubst
@p='$(patsubst'; \
b='$(patsubst'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
%,%.bc,$(test_progs)).log: %,%.bc,$(test_progs))
This used to work fine in automake <= 1.12. I also tried jamming the
whole thing into a single line, but that didn't help.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
Information forwarded
to
bug-automake <at> gnu.org
:
bug#13477
; Package
automake
.
(Thu, 17 Jan 2013 18:31:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 13477 <at> debbugs.gnu.org (full text, mbox):
On 01/17/2013 01:36 PM, Richard W.M. Jones wrote:
> I have a project that has a TESTS variable like this ('test_progs' is
> defined elsewhere):
>
> TESTS = run-bindtests \
> $(sort \
> $(patsubst %,%.bc,$(test_progs)) \
> $(patsubst %,%.opt,$(test_progs)))
>
> This breaks with automake 1.13.1. 'make' gives unterminated variable
> errors. It is fairly obvious why when you look at the generated code:
>
> run-bindtests.log: run-bindtests
> @p='run-bindtests'; \
> b='run-bindtests'; \
> $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
> --log-file $$b.log --trs-file $$b.trs \
> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
> - $(LOG_COMPILE) \
> "$$tst" $(AM_TESTS_FD_REDIRECT)
> $(sort.log: $(sort
> @p='$(sort'; \
> b='$(sort'; \
> $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
> --log-file $$b.log --trs-file $$b.trs \
> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
> - $(LOG_COMPILE) \
> "$$tst" $(AM_TESTS_FD_REDIRECT)
> $(patsubst.log: $(patsubst
> @p='$(patsubst'; \
> b='$(patsubst'; \
> $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
> --log-file $$b.log --trs-file $$b.trs \
> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
> - $(LOG_COMPILE) \
> "$$tst" $(AM_TESTS_FD_REDIRECT)
> %,%.bc,$(test_progs)).log: %,%.bc,$(test_progs))
>
> This used to work fine in automake <= 1.12. I also tried jamming the
> whole thing into a single line, but that didn't help.
>
Does the thing work again if you use the 'serial-tests' option (which was the
default before automake 1.13)?
Regards,
Stefano
Information forwarded
to
bug-automake <at> gnu.org
:
bug#13477
; Package
automake
.
(Thu, 17 Jan 2013 20:15:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 13477 <at> debbugs.gnu.org (full text, mbox):
On Thu, Jan 17, 2013 at 07:29:29PM +0100, Stefano Lattarini wrote:
> On 01/17/2013 01:36 PM, Richard W.M. Jones wrote:
> > I have a project that has a TESTS variable like this ('test_progs' is
> > defined elsewhere):
> >
> > TESTS = run-bindtests \
> > $(sort \
> > $(patsubst %,%.bc,$(test_progs)) \
> > $(patsubst %,%.opt,$(test_progs)))
> >
> > This breaks with automake 1.13.1. 'make' gives unterminated variable
> > errors. It is fairly obvious why when you look at the generated code:
> >
> > run-bindtests.log: run-bindtests
> > @p='run-bindtests'; \
> > b='run-bindtests'; \
> > $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
> > --log-file $$b.log --trs-file $$b.trs \
> > $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
> > - $(LOG_COMPILE) \
> > "$$tst" $(AM_TESTS_FD_REDIRECT)
> > $(sort.log: $(sort
> > @p='$(sort'; \
> > b='$(sort'; \
> > $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
> > --log-file $$b.log --trs-file $$b.trs \
> > $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
> > - $(LOG_COMPILE) \
> > "$$tst" $(AM_TESTS_FD_REDIRECT)
> > $(patsubst.log: $(patsubst
> > @p='$(patsubst'; \
> > b='$(patsubst'; \
> > $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
> > --log-file $$b.log --trs-file $$b.trs \
> > $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
> > - $(LOG_COMPILE) \
> > "$$tst" $(AM_TESTS_FD_REDIRECT)
> > %,%.bc,$(test_progs)).log: %,%.bc,$(test_progs))
> >
> > This used to work fine in automake <= 1.12. I also tried jamming the
> > whole thing into a single line, but that didn't help.
> >
> Does the thing work again if you use the 'serial-tests' option (which was the
> default before automake 1.13)?
Yes, specifying serial-tests does appear to have fixed this.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
Reply sent
to
Stefano Lattarini <stefano.lattarini <at> gmail.com>
:
You have taken responsibility.
(Thu, 17 Jan 2013 20:58:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Richard W.M. Jones" <rjones <at> redhat.com>
:
bug acknowledged by developer.
(Thu, 17 Jan 2013 20:58:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 13477-done <at> debbugs.gnu.org (full text, mbox):
On 01/17/2013 08:19 PM, Richard W.M. Jones wrote:
> On Thu, Jan 17, 2013 at 07:29:29PM +0100, Stefano Lattarini wrote:
>> On 01/17/2013 01:36 PM, Richard W.M. Jones wrote:
>>> I have a project that has a TESTS variable like this ('test_progs' is
>>> defined elsewhere):
>>>
>>> TESTS = run-bindtests \
>>> $(sort \
>>> $(patsubst %,%.bc,$(test_progs)) \
>>> $(patsubst %,%.opt,$(test_progs)))
>>>
>>> This breaks with automake 1.13.1. 'make' gives unterminated variable
>>> errors. It is fairly obvious why when you look at the generated code:
>>>
>>> run-bindtests.log: run-bindtests
>>> @p='run-bindtests'; \
>>> b='run-bindtests'; \
>>> $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
>>> --log-file $$b.log --trs-file $$b.trs \
>>> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
>>> - $(LOG_COMPILE) \
>>> "$$tst" $(AM_TESTS_FD_REDIRECT)
>>> $(sort.log: $(sort
>>> @p='$(sort'; \
>>> b='$(sort'; \
>>> $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
>>> --log-file $$b.log --trs-file $$b.trs \
>>> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
>>> - $(LOG_COMPILE) \
>>> "$$tst" $(AM_TESTS_FD_REDIRECT)
>>> $(patsubst.log: $(patsubst
>>> @p='$(patsubst'; \
>>> b='$(patsubst'; \
>>> $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
>>> --log-file $$b.log --trs-file $$b.trs \
>>> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -\
>>> - $(LOG_COMPILE) \
>>> "$$tst" $(AM_TESTS_FD_REDIRECT)
>>> %,%.bc,$(test_progs)).log: %,%.bc,$(test_progs))
>>>
>>> This used to work fine in automake <= 1.12. I also tried jamming the
>>> whole thing into a single line, but that didn't help.
>>>
>> Does the thing work again if you use the 'serial-tests' option (which was the
>> default before automake 1.13)?
>
> Yes, specifying serial-tests does appear to have fixed this.
>
OK, as I suspected. The problem is that the use of GNU make built-in
in TESTS was *never* supported by the parallel harness, unfortunately :-(
Since that is nothing new, I'm closing this bug report.
Thanks,
Stefano
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 15 Feb 2013 12:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 130 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.