GNU bug report logs -
#13477
automake 1.13 breaks when TESTS variable contains GNU make macros like $(sort ...)
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#13477: automake 1.13 breaks when TESTS variable contains GNU make macros like $(sort ...)
which was filed against the automake package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 13477 <at> debbugs.gnu.org.
--
13477: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13477
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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
[Message part 3 (message/rfc822, inline)]
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
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.