emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#13477: closed (automake 1.13 breaks when TESTS var


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#13477: closed (automake 1.13 breaks when TESTS variable contains GNU make macros like $(sort ...))
Date: Thu, 17 Jan 2013 20:58:02 +0000

Your message dated Thu, 17 Jan 2013 21:56:25 +0100
with message-id <address@hidden>
and subject line Re: bug#13477: automake 1.13 breaks when TESTS variable 
contains GNU make macros like $(sort ...)
has caused the debbugs.gnu.org bug report #13477,
regarding automake 1.13 breaks when TESTS variable contains GNU make macros 
like $(sort ...)
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
13477: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13477
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: automake 1.13 breaks when TESTS variable contains GNU make macros like $(sort ...) Date: Thu, 17 Jan 2013 12:36:15 +0000 User-agent: Mutt/1.5.20 (2009-12-10)
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



--- End Message ---
--- Begin Message --- Subject: Re: bug#13477: automake 1.13 breaks when TESTS variable contains GNU make macros like $(sort ...) Date: Thu, 17 Jan 2013 21:56:25 +0100
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



--- End Message ---

reply via email to

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