version 1.18, 2019/05/14 16:43:26 |
version 1.19, 2019/06/11 18:14:23 |
|
|
REGRESS_SKIP_SLOW?=no |
REGRESS_SKIP_SLOW?=no |
REGRESS_FAIL_EARLY?=no |
REGRESS_FAIL_EARLY?=no |
|
|
|
.if ! ${REGRESS_LOG:M/*} |
|
ERRORS += "Fatal: REGRESS_LOG=${REGRESS_LOG} is not an absolute path" |
|
.endif |
|
|
_REGRESS_NAME=${.CURDIR:S/${BSDSRCDIR}\/regress\///} |
_REGRESS_NAME=${.CURDIR:S/${BSDSRCDIR}\/regress\///} |
_REGRESS_TMP?=/dev/null |
_REGRESS_TMP?=/dev/null |
_REGRESS_OUT= | tee -a ${REGRESS_LOG} ${_REGRESS_TMP} 2>&1 > /dev/null |
_REGRESS_OUT= | tee -a ${REGRESS_LOG} ${_REGRESS_TMP} 2>&1 > /dev/null |
|
|
.if defined(PROG) && !empty(PROG) |
.if defined(PROG) && !empty(PROG) |
run-regress-${PROG}: ${PROG} |
run-regress-${PROG}: ${PROG} |
./${PROG} |
./${PROG} |
|
.PHONY: run-regress-${PROG} |
.endif |
.endif |
|
|
.if defined(PROG) && !defined(REGRESS_TARGETS) |
.if defined(PROG) && !defined(REGRESS_TARGETS) |
|
|
.endif |
.endif |
|
|
.if ${REGRESS_FAIL_EARLY:L} != no |
.if ${REGRESS_FAIL_EARLY:L} != no |
_REGRESS_IGNORE_FAIL= |
_REGRESS_FAILED = false |
.else |
.else |
_REGRESS_IGNORE_FAIL= - |
_REGRESS_FAILED = true |
.endif |
.endif |
|
|
.if defined(REGRESS_ROOT_TARGETS) |
.if defined(REGRESS_ROOT_TARGETS) |
|
|
. endif |
. endif |
.endif |
.endif |
|
|
.if defined(ERRORS) |
|
.BEGIN: |
|
. for _m in ${ERRORS} |
|
@echo 1>&2 ${_m} |
|
. endfor |
|
. if !empty(ERRORS:M"Fatal\:*") || !empty(ERRORS:M'Fatal\:*') |
|
@exit 1 |
|
. endif |
|
.endif |
|
|
|
REGRESS_SETUP?= |
REGRESS_SETUP?= |
REGRESS_SETUP_ONCE?= |
REGRESS_SETUP_ONCE?= |
REGRESS_CLEANUP?= |
REGRESS_CLEANUP?= |
|
|
.endif |
.endif |
|
|
regress: .SILENT |
regress: .SILENT |
.if ! ${REGRESS_LOG:M/*} |
|
echo ========================================================= |
|
echo REGRESS_LOG must contain an absolute path to the log-file. |
|
echo It currently points to: ${REGRESS_LOG} |
|
echo ========================================================= |
|
exit 1 |
|
.endif |
|
.if !empty(REGRESS_SETUP_ONCE) |
.if !empty(REGRESS_SETUP_ONCE) |
rm -f ${REGRESS_SETUP_ONCE:S/^/stamp-/} |
rm -f ${REGRESS_SETUP_ONCE:S/^/stamp-/} |
.endif |
.endif |
.for RT in ${REGRESS_TARGETS} ${REGRESS_CLEANUP} |
.for RT in ${REGRESS_TARGETS} ${REGRESS_CLEANUP} |
. if ${REGRESS_SKIP_TARGETS:M${RT}} |
. if ${REGRESS_SKIP_TARGETS:M${RT}} |
@echo -n "SKIP " ${_REGRESS_OUT} |
echo -n "SKIP " ${_REGRESS_OUT} |
@echo SKIPPED |
echo SKIPPED |
. else |
. else |
${_REGRESS_IGNORE_FAIL} if ${MAKE} -C ${.CURDIR} ${RT}; then \ |
if ${MAKE} -C ${.CURDIR} ${RT}; then \ |
echo -n "SUCCESS " ${_REGRESS_OUT} ; \ |
echo -n "SUCCESS " ${_REGRESS_OUT} ; \ |
else \ |
else \ |
echo -n "FAIL " ${_REGRESS_OUT} ; \ |
echo -n "FAIL " ${_REGRESS_OUT} ; \ |
echo FAILED ; \ |
echo FAILED ; \ |
false; \ |
${_REGRESS_FAILED}; \ |
fi |
fi |
. endif |
. endif |
@echo ${_REGRESS_NAME}/${RT:S/^run-regress-//} ${_REGRESS_OUT} |
echo ${_REGRESS_NAME}/${RT:S/^run-regress-//} ${_REGRESS_OUT} |
.endfor |
.endfor |
|
|
|
.if defined(ERRORS) |
|
.BEGIN: |
|
. for _m in ${ERRORS} |
|
@echo 1>&2 ${_m} |
|
. endfor |
|
. if !empty(ERRORS:M"Fatal\:*") || !empty(ERRORS:M'Fatal\:*') |
|
@exit 1 |
|
. endif |
|
.endif |
|
|
.PHONY: regress |
.PHONY: regress |