xref: /openbsd/regress/sys/fileops/Makefile.inc (revision 3cab2bb3)
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