1# $OpenBSD: Makefile,v 1.5 2023/07/28 17:25:32 bluhm Exp $ 2 3# evaluate once in main make invocation, then get list of test from environment 4.if ! (make(clean) || make(cleandir) || make(obj)) 5RSYNC_TESTS ?!= ls -1 ${.CURDIR}/*.test 6.MAKEFLAGS := RSYNC_TESTS="${RSYNC_TESTS}" 7.endif 8 9RSYNC_OPEN = /usr/bin/openrsync 10RSYNC_PORT = /usr/local/bin/rsync 11 12clean: 13 rm -rf dir* find* 14 15# some of these tests pass or fail unreliably 16REGRESS_EXPECTED_FAILURES = run-openrsync-openrsync-test3_minusexclude \ 17 run-openrsync-openrsync-test6b_perms \ 18 run-openrsync-openrsync-test7_symlinks \ 19 run-openrsync-openrsync-test10_perms \ 20 run-openrsync-openrsync-test13b_perms \ 21 run-openrsync-rsync-test3_minusexclude \ 22 run-openrsync-rsync-test6b_perms \ 23 run-openrsync-rsync-test7_symlinks \ 24 run-openrsync-rsync-test10_perms \ 25 run-openrsync-rsync-test13b_perms 26 27.if ! exists(${RSYNC_PORT}) 28.for t in ${RSYNC_TESTS} 29REGRESS_SKIP_TARGETS += run-${RSYNC_OPEN:T}-${RSYNC_PORT:T}-${t:T:R} 30REGRESS_SKIP_TARGETS += run-${RSYNC_PORT:T}-${RSYNC_OPEN:T}-${t:T:R} 31REGRESS_SKIP_TARGETS += run-${RSYNC_PORT:T}-${RSYNC_PORT:T}-${t:T:R} 32.endfor 33.endif 34 35# these test have to run as regular user 36USER_TESTS = test13b_perms 37 38ROOT_USER != id -g 39.for t in ${RSYNC_TESTS} 40.if ${ROOT_USER} != 0 || empty(USER_TESTS:M${t:T:R}) 41SH_${t:T:R} = sh 42.else 43SH_${t:T:R} = su build 44.endif 45.endfor 46 47.for l in ${RSYNC_OPEN} ${RSYNC_PORT} 48.for r in ${RSYNC_OPEN} ${RSYNC_PORT} 49 50RSYNC_$l_$r = $l --rsync-path=$r 51 52.for t in ${RSYNC_TESTS} 53REGRESS_TARGETS += run-${l:T}-${r:T}-${t:T:R} 54run-${l:T}-${r:T}-${t:T:R}: clean 55 tstdir="${.CURDIR}" rsync="${RSYNC_$l_$l}" ${SH_${t:T:R}} $t 56.endfor 57 58.endfor 59.endfor 60 61.include <bsd.regress.mk> 62