Consider a Makefile.PL like below 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


                
___________________________________________________________ 
Inbox full of spam? Get leading spam protection and 1GB storage with All New 
Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html

Reply via email to