1# $OpenBSD: Makefile.inc,v 1.6 2023/10/13 19:28:59 anton 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-${FS} 10FILEOPS_PROG= ${.OBJDIR}/../fileops 11CLEANFILES= diskimage vnd 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 diskimage >vnd 21 ${NEWFS} /dev/r$$(<vnd)c 22 23REGRESS_SETUP_ONCE+= mount 24mount: disk 25 mkdir -p ${FILEOPS_MNT} 26 ${MOUNT} /dev/$$(<vnd)c ${FILEOPS_MNT} 27 28REGRESS_CLEANUP+= umount 29umount: 30 umount -f ${FILEOPS_MNT} || true 31 32REGRESS_CLEANUP+= unconfig 33unconfig: 34 -umount -f /dev/$$(<vnd)c 2>/dev/null || true 35 -rmdir ${FILEOPS_MNT} 2>/dev/null || true 36 -vnconfig -u $$(<vnd) 2>/dev/null || true 37 rm -f stamp-setup 38 39${.OBJDIR}/../fileops: 40 ${.MAKE} -C ${.CURDIR}/.. fileops 41 42.for t in ${TESTS1} 43REGRESS_TARGETS+= run-$t 44run-$t: ${.OBJDIR}/../fileops 45 cd ${FILEOPS_MNT} && \ 46 ${FILEOPS_PROG} $t ${FILEOPS_MNT}/file 47.endfor 48 49.for t in ${TESTS2} 50REGRESS_TARGETS+= run-$t 51run-$t: ${.CURDIR}/../fileops2.pl 52.if ! empty(PERL_REQUIRE) 53 @echo "${PERL_REQUIRE}" 54 @echo "Install the p5-File-Slurp package to run fileops $t subtest" 55 @echo SKIPPED 56.else 57 perl ${.CURDIR}/../fileops2.pl $t ${FILEOPS_MNT} 58.endif 59.endfor 60