1# $OpenBSD: Makefile,v 1.9 2021/07/05 16:11:52 bluhm Exp $ 2 3PROGS= mmap-sysctl-copyin mmap-sysctl-copyout 4CLEANFILES= diskimage 5 6.PHONY: disk nfs mount killnc umount unconfig clean 7 8disk: unconfig 9 dd if=/dev/zero of=diskimage bs=512 count=4k 10 vnconfig vnd0 diskimage 11 newfs vnd0c 12 13nfs: 14 grep '/mnt/regress-nfs-server\>' /etc/exports || \ 15 echo /mnt/regress-nfs-server -maproot=0:0 127.0.0.1 >>/etc/exports 16 rcctl -f start portmap 17 rcctl -f start nfsd 18 rcctl -f start mountd 19 20REGRESS_SETUP_ONCE+= mount 21mount: disk nfs 22 mkdir -p /mnt/regress-nfs-server 23 mount /dev/vnd0c /mnt/regress-nfs-server 24 # wait until mountd(8) has exported the directory 25 for i in `jot 100`; do \ 26 mount | grep 'regress-nfs-server .*NFS exported' && break; \ 27 [ $$i = 100 ] && exit 1; \ 28 sleep .1; \ 29 done 30 mkdir -p /mnt/regress-nfs-client 31 mount -t nfs 127.0.0.1:/mnt/regress-nfs-server /mnt/regress-nfs-client 32 33REGRESS_CLEANUP+= killnc 34killnc: 35 -pkill -xf "nc -U -v -l /mnt/regress-nfs-client/socket-stream" || true 36 -pkill -xf "nc -Uu -v -l /mnt/regress-nfs-client/socket-dgram" || true 37 -pkill -xf "nc -n -v -l 127.0.0.1 0" || true 38 39REGRESS_CLEANUP+= umount 40umount: 41 umount /mnt/regress-nfs-client 42 43REGRESS_CLEANUP+= unconfig 44unconfig: 45 -umount -f -t nfs -h 127.0.0.1 -a || true 46 -rmdir /mnt/regress-nfs-client 2>/dev/null || true 47 -pkill -KILL mountd || true 48 -rcctl -f stop nfsd 49 -rcctl -f stop portmap 50 -umount -f /dev/vnd0c 2>/dev/null || true 51 -rmdir /mnt/regress-nfs-server 2>/dev/null || true 52 -vnconfig -u vnd0 2>/dev/null || true 53 rm -f stamp-mount 54 55REGRESS_TARGETS+= run-regress-read 56run-regress-read: 57 echo -n $@ >/mnt/regress-nfs-server/read 58 [ $@ = "`cat /mnt/regress-nfs-client/read`" ] 59 60REGRESS_TARGETS+= run-write 61run-write: 62 echo -n $@ >/mnt/regress-nfs-client/write 63 [ $@ = "`cat /mnt/regress-nfs-server/write`" ] 64 65.for p in ${PROGS} 66REGRESS_TARGETS+= run-$p 67run-$p: $p 68 ./$p 69.endfor 70 71.for socktype nctype in stream -U dgram -Uu 72REGRESS_TARGETS+= run-socket-${socktype} 73run-socket-${socktype}: 74 rm -f /mnt/regress-nfs-client/socket-${socktype} 75 nc ${nctype} -v -l /mnt/regress-nfs-client/socket-${socktype} & 76 [ -S /mnt/regress-nfs-client/socket-${socktype} ] || sleep 1 77 [ -S /mnt/regress-nfs-client/socket-${socktype} ] 78 nc ${nctype} -z /mnt/regress-nfs-client/socket-${socktype} 79.if "${socktype}" == dgram 80 pkill -xf "nc -Uu -v -l /mnt/regress-nfs-client/socket-dgram" 81.endif 82.endfor 83 84REGRESS_TARGETS+= run-ktrace-true 85run-ktrace-true: 86 ktrace -f /mnt/regress-nfs-client/true.ktrace /usr/bin/true 87 sync 88 kdump -f /mnt/regress-nfs-client/true.ktrace |\ 89 fgrep 'true CALL exit(0)' 90 91REGRESS_TARGETS+= run-ktrace-netcat 92run-ktrace-netcat: 93 echo foo | \ 94 ktrace -f /mnt/regress-nfs-client/netcat-server.ktrace \ 95 nc -n -v -l 127.0.0.1 0 2>server.log & 96 # Wait until netcat is listening. 97 for i in `jot 30`; do\ 98 if fgrep -q Listening server.log; then break; fi; sleep .1; done 99 fgrep Listening server.log 100 echo bar | \ 101 ktrace -f /mnt/regress-nfs-client/netcat-client.ktrace \ 102 nc -n -v -N 127.0.0.1 \ 103 `sed -n 's/Listening on 127.0.0.1 //p' server.log` 2>client.log 104 fgrep Connection client.log 105 kdump -f /mnt/regress-nfs-client/netcat-server.ktrace |\ 106 fgrep 'nc CALL exit(0)' 107 kdump -f /mnt/regress-nfs-client/netcat-client.ktrace |\ 108 fgrep 'nc CALL exit(0)' 109 110.include <bsd.regress.mk> 111