Damien Miller | 38cd435 | 2002-05-01 13:17:33 +1000 | [diff] [blame] | 1 | # $OpenBSD: bsd.regress.mk,v 1.9 2002/02/17 01:10:15 marc Exp $ |
| 2 | # No man pages for regression tests. |
| 3 | NOMAN= |
| 4 | |
| 5 | # No installation. |
| 6 | install: |
| 7 | |
| 8 | # If REGRESSTARGETS is defined and PROG is not defined, set NOPROG |
| 9 | .if defined(REGRESSTARGETS) && !defined(PROG) |
| 10 | NOPROG= |
| 11 | .endif |
| 12 | |
| 13 | .include <bsd.prog.mk> |
| 14 | |
| 15 | .MAIN: all |
| 16 | all: regress |
| 17 | |
| 18 | # XXX - Need full path to REGRESSLOG, otherwise there will be much pain. |
| 19 | |
| 20 | REGRESSLOG?=/dev/null |
| 21 | REGRESSNAME=${.CURDIR:S/${BSDSRCDIR}\/regress\///} |
| 22 | |
| 23 | .if defined(PROG) && !empty(PROG) |
| 24 | run-regress-${PROG}: ${PROG} |
| 25 | ./${PROG} |
| 26 | .endif |
| 27 | |
| 28 | .if !defined(REGRESSTARGETS) |
| 29 | REGRESSTARGETS=run-regress-${PROG} |
| 30 | . if defined(REGRESSSKIP) |
| 31 | REGRESSSKIPTARGETS=run-regress-${PROG} |
| 32 | . endif |
| 33 | .endif |
| 34 | |
| 35 | REGRESSSKIPSLOW?=no |
| 36 | |
| 37 | #.if (${REGRESSSKIPSLOW:L} == "yes") && defined(REGRESSSLOWTARGETS) |
| 38 | |
| 39 | .if (${REGRESSSKIPSLOW} == "yes") && defined(REGRESSSLOWTARGETS) |
| 40 | REGRESSSKIPTARGETS+=${REGRESSSLOWTARGETS} |
| 41 | .endif |
| 42 | |
| 43 | .if defined(REGRESSROOTTARGETS) |
| 44 | ROOTUSER!=id -g |
| 45 | SUDO?= |
| 46 | . if (${ROOTUSER} != 0) && empty(SUDO) |
| 47 | REGRESSSKIPTARGETS+=${REGRESSROOTTARGETS} |
| 48 | . endif |
| 49 | .endif |
| 50 | |
| 51 | REGRESSSKIPTARGETS?= |
| 52 | |
| 53 | regress: |
| 54 | .for RT in ${REGRESSTARGETS} |
| 55 | . if ${REGRESSSKIPTARGETS:M${RT}} |
| 56 | @echo -n "SKIP " >> ${REGRESSLOG} |
| 57 | . else |
| 58 | # XXX - we need a better method to see if a test fails due to timeout or just |
| 59 | # normal failure. |
| 60 | . if !defined(REGRESSMAXTIME) |
| 61 | @if cd ${.CURDIR} && ${MAKE} ${RT}; then \ |
| 62 | echo -n "SUCCESS " >> ${REGRESSLOG} ; \ |
| 63 | else \ |
| 64 | echo -n "FAIL " >> ${REGRESSLOG} ; \ |
| 65 | echo FAILED ; \ |
| 66 | fi |
| 67 | . else |
| 68 | @if cd ${.CURDIR} && (ulimit -t ${REGRESSMAXTIME} ; ${MAKE} ${RT}); then \ |
| 69 | echo -n "SUCCESS " >> ${REGRESSLOG} ; \ |
| 70 | else \ |
| 71 | echo -n "FAIL (possible timeout) " >> ${REGRESSLOG} ; \ |
| 72 | echo FAILED ; \ |
| 73 | fi |
| 74 | . endif |
| 75 | . endif |
| 76 | @echo ${REGRESSNAME}/${RT:S/^run-regress-//} >> ${REGRESSLOG} |
| 77 | .endfor |
| 78 | |
| 79 | .PHONY: regress |