1# $OpenBSD: Makefile,v 1.6 2020/12/16 21:49:20 bluhm Exp $
2
3TESTS=		chflags chmod chown link mkdir mkfifo open rename rmdir \
4		symlink truncate unlink
5CLEANFILES=	diskimage
6
7.PHONY: disk nfs mount umount unconfig clean
8
9disk: unconfig
10	dd if=/dev/zero of=diskimage bs=512 count=4k
11	vnconfig vnd0 diskimage
12	newfs vnd0c
13
14nfs:
15	grep '/mnt/regress-nfs-server\>' /etc/exports || \
16	    echo /mnt/regress-nfs-server -maproot=0:0 127.0.0.1 >>/etc/exports
17	rcctl -f start portmap
18	rcctl -f start nfsd
19	rcctl -f start mountd
20
21REGRESS_SETUP_ONCE+=	mount
22mount: disk nfs
23	mkdir -p /mnt/regress-nfs-server
24	mount /dev/vnd0c /mnt/regress-nfs-server
25	# wait until mountd(8) has exported the directory
26	for i in `jot 100`; do \
27	    mount | grep 'regress-nfs-server .*NFS exported' && break; \
28	    [ $$i = 100 ] && exit 1; \
29	    sleep .1; \
30	done
31	mkdir -p /mnt/regress-nfs-client
32	mount -t nfs 127.0.0.1:/mnt/regress-nfs-server /mnt/regress-nfs-client
33
34REGRESS_CLEANUP+=	umount
35umount:
36	umount /mnt/regress-nfs-client
37
38REGRESS_CLEANUP+=	unconfig
39unconfig:
40	-umount -f -t nfs -h 127.0.0.1 -a
41	-rmdir /mnt/regress-nfs-client 2>/dev/null || true
42	-pkill -KILL mountd || true
43	-rcctl -f stop nfsd
44	-rcctl -f stop portmap
45	-umount -f /dev/vnd0c 2>/dev/null || true
46	-rmdir /mnt/regress-nfs-server 2>/dev/null || true
47	-vnconfig -u vnd0 2>/dev/null || true
48	rm -f stamp-mount
49
50REGRESS_SETUP+=		${.OBJDIR}/../fstest
51${.OBJDIR}/../fstest:
52	${.MAKE} -C ${.CURDIR}/.. fstest
53
54.for t in ${TESTS}
55REGRESS_TARGETS+=	run-$t
56run-$t:
57	cd /mnt/regress-nfs-client && env FSTEST=${.OBJDIR}/../fstest \
58	    /bin/sh ${.CURDIR}/../run ${.CURDIR}/../tests/$t/*.t
59.endfor
60
61.include <bsd.regress.mk>
62