11305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# $OpenBSD: bsd.regress.mk,v 1.9 2002/02/17 01:10:15 marc Exp $ 21305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# No man pages for regression tests. 31305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodNOMAN= 41305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 51305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# No installation. 61305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodinstall: 71305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 81305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# If REGRESSTARGETS is defined and PROG is not defined, set NOPROG 91305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.if defined(REGRESSTARGETS) && !defined(PROG) 101305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodNOPROG= 111305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.endif 121305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 131305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.include <bsd.prog.mk> 141305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 151305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.MAIN: all 161305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodall: regress 171305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 181305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# XXX - Need full path to REGRESSLOG, otherwise there will be much pain. 191305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 201305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSLOG?=/dev/null 211305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSNAME=${.CURDIR:S/${BSDSRCDIR}\/regress\///} 221305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 231305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.if defined(PROG) && !empty(PROG) 241305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodrun-regress-${PROG}: ${PROG} 251305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood ./${PROG} 261305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.endif 271305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 281305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.if !defined(REGRESSTARGETS) 291305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSTARGETS=run-regress-${PROG} 301305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. if defined(REGRESSSKIP) 311305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSSKIPTARGETS=run-regress-${PROG} 321305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. endif 331305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.endif 341305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 351305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSSKIPSLOW?=no 361305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 371305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#.if (${REGRESSSKIPSLOW:L} == "yes") && defined(REGRESSSLOWTARGETS) 381305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 391305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.if (${REGRESSSKIPSLOW} == "yes") && defined(REGRESSSLOWTARGETS) 401305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSSKIPTARGETS+=${REGRESSSLOWTARGETS} 411305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.endif 421305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 431305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.if defined(REGRESSROOTTARGETS) 441305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodROOTUSER!=id -g 451305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodSUDO?= 461305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. if (${ROOTUSER} != 0) && empty(SUDO) 471305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSSKIPTARGETS+=${REGRESSROOTTARGETS} 481305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. endif 491305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.endif 501305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 511305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodREGRESSSKIPTARGETS?= 521305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 531305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodregress: 541305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.for RT in ${REGRESSTARGETS} 551305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. if ${REGRESSSKIPTARGETS:M${RT}} 561305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood @echo -n "SKIP " >> ${REGRESSLOG} 571305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. else 581305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# XXX - we need a better method to see if a test fails due to timeout or just 591305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# normal failure. 601305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. if !defined(REGRESSMAXTIME) 611305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood @if cd ${.CURDIR} && ${MAKE} ${RT}; then \ 621305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood echo -n "SUCCESS " >> ${REGRESSLOG} ; \ 631305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood else \ 641305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood echo -n "FAIL " >> ${REGRESSLOG} ; \ 651305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood echo FAILED ; \ 661305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 671305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. else 681305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood @if cd ${.CURDIR} && (ulimit -t ${REGRESSMAXTIME} ; ${MAKE} ${RT}); then \ 691305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood echo -n "SUCCESS " >> ${REGRESSLOG} ; \ 701305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood else \ 711305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood echo -n "FAIL (possible timeout) " >> ${REGRESSLOG} ; \ 721305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood echo FAILED ; \ 731305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 741305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. endif 751305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood. endif 761305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood @echo ${REGRESSNAME}/${RT:S/^run-regress-//} >> ${REGRESSLOG} 771305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.endfor 781305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 791305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood.PHONY: regress 80