=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/share/mk/bsd.regress.mk,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- src/share/mk/bsd.regress.mk 2002/09/02 19:56:55 1.10 +++ src/share/mk/bsd.regress.mk 2013/06/14 22:38:50 1.11 @@ -1,4 +1,4 @@ -# $OpenBSD: bsd.regress.mk,v 1.10 2002/09/02 19:56:55 avsm Exp $ +# $OpenBSD: bsd.regress.mk,v 1.11 2013/06/14 22:38:50 halex Exp $ # Documented in bsd.regress.mk(5) # No man pages for regression tests. @@ -37,6 +37,7 @@ REGRESS_LOG?=/dev/null REGRESS_SKIP_TARGETS?= REGRESS_SKIP_SLOW?=no +REGRESS_FAIL_EARLY?=no _REGRESS_NAME=${.CURDIR:S/${BSDSRCDIR}\/regress\///} _REGRESS_TMP?=/dev/null @@ -58,6 +59,12 @@ REGRESS_SKIP_TARGETS+=${REGRESS_SLOW_TARGETS} .endif +.if ${REGRESS_FAIL_EARLY} != no +_SKIP_FAIL= +.else +_SKIP_FAIL=- +.endif + .if defined(REGRESS_ROOT_TARGETS) _ROOTUSER!=id -g SUDO?= @@ -91,18 +98,21 @@ # XXX - we need a better method to see if a test fails due to timeout or just # normal failure. . if !defined(REGRESS_MAXTIME) - -if cd ${.CURDIR} && ${MAKE} ${RT}; then \ + ${_SKIP_FAIL}if cd ${.CURDIR} && ${MAKE} ${RT}; then \ echo -n "SUCCESS " ${_REGRESS_OUT} ; \ else \ echo -n "FAIL " ${_REGRESS_OUT} ; \ echo FAILED ; \ + false; \ fi . else - -if cd ${.CURDIR} && (ulimit -t ${REGRESS_MAXTIME} ; ${MAKE} ${RT}); then \ + ${_SKIP_FAIL}if cd ${.CURDIR} && \ + (ulimit -t ${REGRESS_MAXTIME} ; ${MAKE} ${RT}); then \ echo -n "SUCCESS " ${_REGRESS_OUT} ; \ else \ echo -n "FAIL (possible timeout) " ${_REGRESS_OUT} ; \ echo FAILED ; \ + false; \ fi . endif . endif