# $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 .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