On Sun, Jun 17, 2001 at 10:14:19PM -0500, Ben Collins-Sussman wrote:
> 
> This bit of code from Makefile.in is part of the 'check' target:
> 
> 	    echo "START: $$progbase" >> $$logfile ; \
> 	    (cd $$progdir && ./$$progbase $(abs_srcdir)) >> $$logfile ; \
> 	    if test $$? -eq 0; then \
> 		echo "SUCCESS" ; \
> 	    else \
> 		failed=yes; \
> 		echo "FAILED" ; \
> 		echo "--- at least one sub-test FAILED, check tests.log." ; \
> 	    fi; \
> 	    echo "END: $$progbase" >> $$logfile ; \
> 
> 
> The problem I'm noticing on my FreeBSD systems: if one of the test
> programs returns non-zero, we never see the "FAILED" message in the
> else clause.  Instead, the BSD version of 'make' simply bombs out on
> the spot and prints "*** Error code N".
> 
> I'd like to not be dependent on the fact that GNU make is more
> tolerant than others.  Is there a way to change the script above so
> that older 'make's won't instantly bomb on error?
I think it will work as intended if you change it to be like:
   if (cd $$progdir; ...); then
      #success
   else
      #failure
   fi
> Then again, maybe this is a desirable behavior -- quit the 'check'
> target as soon as something fails.  In which case, we need to *force*
> this to happen with GNU make.
(can just put an 'exit 1' in the failure branch then?)
joe
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:32 2006