1# $OpenBSD: Makefile.inc,v 1.3 2017/08/15 17:16:39 sf Exp $ 2 3PERL_REQUIRE != perl -e 'eval { require File::Slurp } or print $$@' 4 5TESTS1= create read mmap 6TESTS2= many_files_root many_files_subdir file_write 7TESTS= ${TESTS1} ${TESTS2} 8 9FILEOPS_MNT= /mnt/regress-fileops 10FILEOPS_PROG= ${.OBJDIR}/../fileops 11CLEANFILES= diskimage stamp-* 12 13.poison !defined (MOUNT) 14.poison !defined (NEWFS) 15 16.PHONY: disk mount unconfig clean 17 18disk: unconfig 19 dd if=/dev/urandom of=diskimage bs=1M count=64 20 vnconfig vnd0 diskimage 21 ${NEWFS} /dev/rvnd0c 22 23mount: disk 24 mkdir -p ${FILEOPS_MNT} 25 ${MOUNT} /dev/vnd0c ${FILEOPS_MNT} 26 27unconfig: 28 -umount -f /dev/vnd0c 2>/dev/null || true 29 -rmdir ${FILEOPS_MNT} 2>/dev/null || true 30 -vnconfig -u vnd0 2>/dev/null || true 31 -rm -f stamp-setup diskimage 32 33stamp-setup: 34 @echo '\n======== $@ ========' 35 ${.MAKE} -C ${.CURDIR} mount 36 date >$@ 37 38${.OBJDIR}/../fileops: 39 ${.MAKE} -C ${.CURDIR}/.. fileops 40 41.for t in ${TESTS1} 42REGRESS_TARGETS+= run-regress-${t} 43run-regress-${t}: stamp-setup ${.OBJDIR}/../fileops 44 @echo '\n======== $@ ========' 45 cd ${FILEOPS_MNT} && \ 46 ${FILEOPS_PROG} ${t} ${FILEOPS_MNT}/file 47.endfor 48 49.for t in ${TESTS2} 50REGRESS_TARGETS+= run-regress-${t} 51.if ! empty(PERL_REQUIRE) 52run-regress-${t}: 53 @echo "${PERL_REQUIRE}" 54 @echo "Install the p5-File-Slurp package to run the fileops ${t} subtest" 55 @echo SKIPPED 56.else 57run-regress-${t}: stamp-setup 58 @echo '\n======== $@ ========' 59 perl ${.CURDIR}/../fileops2.pl ${t} ${FILEOPS_MNT} 60.endif 61.endfor 62 63REGRESS_TARGETS+= run-regress-cleanup 64run-regress-cleanup: 65 @echo '\n======== $@ ========' 66 umount ${FILEOPS_MNT} 67 ${.MAKE} -C ${.CURDIR} unconfig 68