Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 20034
Status: resolved
Worked: 30 min
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: ETJ [...] cpan.org
Requestors: schwern [...] pobox.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: 7.04



Subject: Fwd: Problem in "make test" with multiple Makefile.PL's
Date: Wed, 21 Jun 2006 16:53:30 -0700
To: bug-ExtUtils-MakeMaker [...] rt.cpan.org
From: "Michael G Schwern" <schwern [...] gmail.com>
Show quoted text
---------- Forwarded message ---------- From: Paul Marquess <Paul.Marquess@btinternet.com> Date: Jun 20, 2006 9:31 AM Subject: Problem in "make test" with multiple Makefile.PL's To: makemaker@perl.org Consider a Makefile.PL like this where you want to build, test and install the distributions alpha & beta at the same time WriteMakefile( NAME => "whatever", VERSION => '1.0', DIR => [ "alpha", "beta" ], ); The "test" target created by that on a Unix-ish platform looks like this test :: $(TEST_TYPE) $(NOECHO) $(ABSPERLRUN) -e 'chdir '\''alpha'\''; ' \ -e 'system '\''$(MAKE) test $(PASTHRU)'\''' \ -e ' if -f '\''$(FIRST_MAKEFILE)'\'';' $(NOECHO) $(ABSPERLRUN) -e 'chdir '\''beta'\''; ' \ -e 'system '\''$(MAKE) test $(PASTHRU)'\''' \ -e ' if -f '\''$(FIRST_MAKEFILE)'\'';' The problem with that code is that if there is a failure in one of the tests, the status will never work its way back to the shell. A quick hack, changing -e 'system '\''$(MAKE) test $(PASTHRU)'\''' \ to -e '(system '\''$(MAKE) test $(PASTHRU)'\'' and exit 1 )' \ sorted the problem for me. Paul
Used EUMM 7.04, with a trivial Makefile.PL and a subdirectory with another one. Main dir had trivial passing t/ok.t, subdir "t2" had trivial failing test in t2/t/x.t. Top Makefile had this: subdirs-test :: $(NOECHO) cd t2 && $(MAKE) test $(PASTHRU) As you'd expect with the above make-text, running "make test" correctly fails. When the failing test is fixed, "make test" correctly passes. Marking as closed.