| # $OpenBSD: bsd.regress.mk,v 1.9 2002/02/17 01:10:15 marc Exp $ |
| # No man pages for regression tests. |
| NOMAN= |
| |
| # No installation. |
| install: |
| |
| # If REGRESSTARGETS is defined and PROG is not defined, set NOPROG |
| .if defined(REGRESSTARGETS) && !defined(PROG) |
| NOPROG= |
| .endif |
| |
| .include <bsd.prog.mk> |
| |
| .MAIN: all |
| all: regress |
| |
| # XXX - Need full path to REGRESSLOG, otherwise there will be much pain. |
| |
| REGRESSLOG?=/dev/null |
| REGRESSNAME=${.CURDIR:S/${BSDSRCDIR}\/regress\///} |
| |
| .if defined(PROG) && !empty(PROG) |
| run-regress-${PROG}: ${PROG} |
| ./${PROG} |
| .endif |
| |
| .if !defined(REGRESSTARGETS) |
| REGRESSTARGETS=run-regress-${PROG} |
| . if defined(REGRESSSKIP) |
| REGRESSSKIPTARGETS=run-regress-${PROG} |
| . endif |
| .endif |
| |
| REGRESSSKIPSLOW?=no |
| |
| #.if (${REGRESSSKIPSLOW:L} == "yes") && defined(REGRESSSLOWTARGETS) |
| |
| .if (${REGRESSSKIPSLOW} == "yes") && defined(REGRESSSLOWTARGETS) |
| REGRESSSKIPTARGETS+=${REGRESSSLOWTARGETS} |
| .endif |
| |
| .if defined(REGRESSROOTTARGETS) |
| ROOTUSER!=id -g |
| SUDO?= |
| . if (${ROOTUSER} != 0) && empty(SUDO) |
| REGRESSSKIPTARGETS+=${REGRESSROOTTARGETS} |
| . endif |
| .endif |
| |
| REGRESSSKIPTARGETS?= |
| |
| regress: |
| .for RT in ${REGRESSTARGETS} |
| . if ${REGRESSSKIPTARGETS:M${RT}} |
| @echo -n "SKIP " >> ${REGRESSLOG} |
| . else |
| # XXX - we need a better method to see if a test fails due to timeout or just |
| # normal failure. |
| . if !defined(REGRESSMAXTIME) |
| @if cd ${.CURDIR} && ${MAKE} ${RT}; then \ |
| echo -n "SUCCESS " >> ${REGRESSLOG} ; \ |
| else \ |
| echo -n "FAIL " >> ${REGRESSLOG} ; \ |
| echo FAILED ; \ |
| fi |
| . else |
| @if cd ${.CURDIR} && (ulimit -t ${REGRESSMAXTIME} ; ${MAKE} ${RT}); then \ |
| echo -n "SUCCESS " >> ${REGRESSLOG} ; \ |
| else \ |
| echo -n "FAIL (possible timeout) " >> ${REGRESSLOG} ; \ |
| echo FAILED ; \ |
| fi |
| . endif |
| . endif |
| @echo ${REGRESSNAME}/${RT:S/^run-regress-//} >> ${REGRESSLOG} |
| .endfor |
| |
| .PHONY: regress |