1# $OpenBSD: Makefile,v 1.4 2024/02/20 21:10:26 bluhm Exp $ 2 3# Copyright (c) 2022 Alexandr Nedvedicky <sashan@openbsd.org> 4# 5# Permission to use, copy, modify, and distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16# 17 18# 19# REMOTE_ADDR use any remote host which is 20# reachable for ping(8) 21# 22REMOTE_ADDR ?= 10.188.210.50 23 24TESTS_PASS = absolute \ 25 quick \ 26 relative 27 28TESTS_BLOCK = list \ 29 loop-relative \ 30 loop \ 31 nesting \ 32 simple 33 34TESTS_ONCE = nesting-once \ 35 once 36 37.include <bsd.own.mk> 38 39.if ! (make(clean) || make(cleandir) || make(obj)) 40 41REACHABLE != ping -c 1 -w 1 ${REMOTE_ADDR} > /dev/null 2>&1 && echo yes || : 42.if empty(REACHABLE) 43regress: 44 @echo Cannot reach ${REMOTE_ADDR} 45 @echo SKIPPED 46.endif 47 48.endif 49 50REGRESS_SETUP_ONCE = enable-pf 51enable-pf: 52 ${SUDO} pfctl -e || true 53 54REGRESS_TARGETS += check-probe-host 55 56check-probe-host: 57 ping -c 1 -w 1 ${REMOTE_ADDR} 58 59.for rules in ${TESTS_PASS} 60REGRESS_TARGETS += run-pass-${rules} 61run-pass-${rules}: 62 ${SUDO} pfctl -a "regress/*" -Fa 63 ${SUDO} pfctl -a "regress" -f ${.CURDIR}/${rules}.conf 64 ping -c 1 -w 1 ${REMOTE_ADDR} 65.endfor 66 67.for rules in ${TESTS_BLOCK} 68REGRESS_TARGETS += run-block-${rules} 69run-block-${rules}: 70 ${SUDO} pfctl -a "regress/*" -Fa 71 ping -c 1 -w 1 ${REMOTE_ADDR} 72 ${SUDO} pfctl -a "regress" -f ${.CURDIR}/${rules}.conf 73 ping -c 1 -w 1 ${REMOTE_ADDR} || true 74.endfor 75 76.for rules in ${TESTS_ONCE} 77REGRESS_TARGETS += run-once-${rules} 78run-once-${rules}: 79 ${SUDO} pfctl -a "regress/*" -Fa 80 ${SUDO} pfctl -a "regress" -f ${.CURDIR}/${rules}.conf 81 ping -c 1 -w 1 ${REMOTE_ADDR} 82 ping -c 1 -w 1 ${REMOTE_ADDR} || true 83.endfor 84 85REGRESS_CLEANUP += cleanup 86 87cleanup: 88 ${SUDO} pfctl -a "regress/*" -Fr 89 90.include <bsd.regress.mk> 91