diff options
author | ngie <ngie@FreeBSD.org> | 2016-12-03 02:55:19 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2016-12-03 02:55:19 +0000 |
commit | 2191e1f6f481f1ccb95a292874a4676a56e01b6c (patch) | |
tree | df47b4e512fc62f8eb97c24ee2d67c4c5f4c3eac /tests | |
parent | 6a5b5c2afb18d38280c7cf791468a73ce609265a (diff) | |
download | FreeBSD-src-2191e1f6f481f1ccb95a292874a4676a56e01b6c.zip FreeBSD-src-2191e1f6f481f1ccb95a292874a4676a56e01b6c.tar.gz |
MFC r304797,r305467,r305468,r305483:
r304797 (by jmmv):
Make use of Kyua's work directories.
Change the vnode tests to use the current directory when creating temporary
files, which we can assume is a volatile work directory, and then make the
kqueue_test.sh driver _not_ abandon the directory created by Kyua.
This makes the various kqueue tests independent of each other, and ensures
the temporary file is cleaned up on failure.
Problem spotted by asomers@ when reviewing D4254.
r305467:
Move tests/sys/kqueue/... to tests/sys/kqueue/libkqueue/...
This is being done to clearly distinguish the libkqueue tests
from the (soon to be imported) NetBSD tests.
r305468:
Port contrib/netbsd-tests/kernel/kqueue/... as tests/sys/kqueue/...
proc2_test must be skipped because the invariant tested
(`ke.fflags & NOTE_TRACKERR`) doesn't pass.
r305483:
Fix tests/sys/kqueue NetBSD tests on 32-bit platforms by using proper
format specifier for pointers when printing them out with printf(3)
Pointyhat to: ngie
Diffstat (limited to 'tests')
-rw-r--r-- | tests/sys/kqueue/Makefile | 28 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/Makefile | 21 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/Makefile.depend (renamed from tests/sys/kqueue/Makefile.depend) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/common.h (renamed from tests/sys/kqueue/common.h) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/config.h (renamed from tests/sys/kqueue/config.h) | 0 | ||||
-rwxr-xr-x | tests/sys/kqueue/libkqueue/kqueue_test.sh (renamed from tests/sys/kqueue/kqueue_test.sh) | 4 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/main.c (renamed from tests/sys/kqueue/main.c) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/proc.c (renamed from tests/sys/kqueue/proc.c) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/read.c (renamed from tests/sys/kqueue/read.c) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/signal.c (renamed from tests/sys/kqueue/signal.c) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/timer.c (renamed from tests/sys/kqueue/timer.c) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/user.c (renamed from tests/sys/kqueue/user.c) | 0 | ||||
-rw-r--r-- | tests/sys/kqueue/libkqueue/vnode.c (renamed from tests/sys/kqueue/vnode.c) | 22 |
13 files changed, 45 insertions, 30 deletions
diff --git a/tests/sys/kqueue/Makefile b/tests/sys/kqueue/Makefile index 43277ca..40f892d 100644 --- a/tests/sys/kqueue/Makefile +++ b/tests/sys/kqueue/Makefile @@ -1,26 +1,20 @@ # $FreeBSD$ -# -# svn://mark.heily.com/libkqueue/trunk/test -# Last update: r114 -# -# libkqueue and test suite by Mark Heily <mark@heily.com> -# -TAP_TESTS_SH= kqueue_test +TESTSRC= ${SRCTOP}/contrib/netbsd-tests/kernel/kqueue TESTSDIR= ${TESTSBASE}/sys/kqueue BINDIR= ${TESTSDIR} -PROGS= kqtest +NETBSD_ATF_TESTS_C= proc1_test +# XXX: fails `ke.fflags & NOTE_TRACKERR` invariant +#NETBSD_ATF_TESTS_C+= proc2_test +NETBSD_ATF_TESTS_C+= proc3_test +NETBSD_ATF_TESTS_C+= sig_test +NETBSD_ATF_TESTS_C+= vnode_test -SRCS.kqtest= \ - main.c \ - read.c \ - timer.c \ - vnode.c \ - proc.c \ - signal.c \ - user.c -WARNS?= 2 +WARNS?= 3 +TESTS_SUBDIRS+= libkqueue + +.include <netbsd-tests.test.mk> .include <bsd.test.mk> diff --git a/tests/sys/kqueue/libkqueue/Makefile b/tests/sys/kqueue/libkqueue/Makefile new file mode 100644 index 0000000..94d198b --- /dev/null +++ b/tests/sys/kqueue/libkqueue/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/sys/kqueue/libkqueue +BINDIR= ${TESTSDIR} + +# libkqueue and test suite by Mark Heily <mark@heily.com> +TAP_TESTS_SH= kqueue_test + +PROGS= kqtest + +SRCS.kqtest= \ + main.c \ + read.c \ + timer.c \ + vnode.c \ + proc.c \ + signal.c \ + user.c +WARNS?= 2 + +.include <bsd.test.mk> diff --git a/tests/sys/kqueue/Makefile.depend b/tests/sys/kqueue/libkqueue/Makefile.depend index 3646e2e..3646e2e 100644 --- a/tests/sys/kqueue/Makefile.depend +++ b/tests/sys/kqueue/libkqueue/Makefile.depend diff --git a/tests/sys/kqueue/common.h b/tests/sys/kqueue/libkqueue/common.h index 89a4029..89a4029 100644 --- a/tests/sys/kqueue/common.h +++ b/tests/sys/kqueue/libkqueue/common.h diff --git a/tests/sys/kqueue/config.h b/tests/sys/kqueue/libkqueue/config.h index a204092..a204092 100644 --- a/tests/sys/kqueue/config.h +++ b/tests/sys/kqueue/libkqueue/config.h diff --git a/tests/sys/kqueue/kqueue_test.sh b/tests/sys/kqueue/libkqueue/kqueue_test.sh index 62a7e23..3185d82 100755 --- a/tests/sys/kqueue/kqueue_test.sh +++ b/tests/sys/kqueue/libkqueue/kqueue_test.sh @@ -1,8 +1,8 @@ #!/bin/sh +# $FreeBSD$ -cd $(dirname $0) i=1 -./kqtest | while read line; do +"$(dirname $0)/kqtest" | while read line; do echo $line | grep -q passed if [ $? -eq 0 ]; then echo "ok - $i $line" diff --git a/tests/sys/kqueue/main.c b/tests/sys/kqueue/libkqueue/main.c index 553478a..553478a 100644 --- a/tests/sys/kqueue/main.c +++ b/tests/sys/kqueue/libkqueue/main.c diff --git a/tests/sys/kqueue/proc.c b/tests/sys/kqueue/libkqueue/proc.c index 79b8d35..79b8d35 100644 --- a/tests/sys/kqueue/proc.c +++ b/tests/sys/kqueue/libkqueue/proc.c diff --git a/tests/sys/kqueue/read.c b/tests/sys/kqueue/libkqueue/read.c index 2837144..2837144 100644 --- a/tests/sys/kqueue/read.c +++ b/tests/sys/kqueue/libkqueue/read.c diff --git a/tests/sys/kqueue/signal.c b/tests/sys/kqueue/libkqueue/signal.c index 14e751d..14e751d 100644 --- a/tests/sys/kqueue/signal.c +++ b/tests/sys/kqueue/libkqueue/signal.c diff --git a/tests/sys/kqueue/timer.c b/tests/sys/kqueue/libkqueue/timer.c index 766125d..766125d 100644 --- a/tests/sys/kqueue/timer.c +++ b/tests/sys/kqueue/libkqueue/timer.c diff --git a/tests/sys/kqueue/user.c b/tests/sys/kqueue/libkqueue/user.c index 9ba25f9..9ba25f9 100644 --- a/tests/sys/kqueue/user.c +++ b/tests/sys/kqueue/libkqueue/user.c diff --git a/tests/sys/kqueue/vnode.c b/tests/sys/kqueue/libkqueue/vnode.c index dfa0b5e..55d5b3f 100644 --- a/tests/sys/kqueue/vnode.c +++ b/tests/sys/kqueue/libkqueue/vnode.c @@ -25,12 +25,12 @@ void test_kevent_vnode_add(void) { const char *test_id = "kevent(EVFILT_VNODE, EV_ADD)"; - const char *testfile = "/tmp/kqueue-test.tmp"; + const char *testfile = "./kqueue-test.tmp"; struct kevent kev; test_begin(test_id); - system("touch /tmp/kqueue-test.tmp"); + system("touch ./kqueue-test.tmp"); vnode_fd = open(testfile, O_RDONLY); if (vnode_fd < 0) err(1, "open of %s", testfile); @@ -57,7 +57,7 @@ test_kevent_vnode_note_delete(void) if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) err(1, "%s", test_id); - if (unlink("/tmp/kqueue-test.tmp") < 0) + if (unlink("./kqueue-test.tmp") < 0) err(1, "unlink"); kevent_cmp(&kev, kevent_get(kqfd)); @@ -77,7 +77,7 @@ test_kevent_vnode_note_write(void) if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) err(1, "%s", test_id); - if (system("echo hello >> /tmp/kqueue-test.tmp") < 0) + if (system("echo hello >> ./kqueue-test.tmp") < 0) err(1, "system"); /* BSD kqueue adds NOTE_EXTEND even though it was not requested */ @@ -102,7 +102,7 @@ test_kevent_vnode_note_attrib(void) if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) err(1, "%s", test_id); - if (system("touch /tmp/kqueue-test.tmp") < 0) + if (system("touch ./kqueue-test.tmp") < 0) err(1, "system"); nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); @@ -130,7 +130,7 @@ test_kevent_vnode_note_rename(void) if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) err(1, "%s", test_id); - if (system("mv /tmp/kqueue-test.tmp /tmp/kqueue-test2.tmp") < 0) + if (system("mv ./kqueue-test.tmp ./kqueue-test2.tmp") < 0) err(1, "system"); nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); @@ -142,7 +142,7 @@ test_kevent_vnode_note_rename(void) err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", test_id, (unsigned int)kev.ident, kev.filter, kev.flags); - if (system("mv /tmp/kqueue-test2.tmp /tmp/kqueue-test.tmp") < 0) + if (system("mv ./kqueue-test2.tmp ./kqueue-test.tmp") < 0) err(1, "system"); success(); @@ -183,7 +183,7 @@ test_kevent_vnode_disable_and_enable(void) err(1, "%s", test_id); /* Confirm that the watch is disabled */ - if (system("touch /tmp/kqueue-test.tmp") < 0) + if (system("touch ./kqueue-test.tmp") < 0) err(1, "system"); test_no_kevents(); @@ -191,7 +191,7 @@ test_kevent_vnode_disable_and_enable(void) kev.flags = EV_ENABLE; if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) err(1, "%s", test_id); - if (system("touch /tmp/kqueue-test.tmp") < 0) + if (system("touch ./kqueue-test.tmp") < 0) err(1, "system"); nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); if (nfds < 1) @@ -221,7 +221,7 @@ test_kevent_vnode_dispatch(void) if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) err(1, "%s", test_id); - if (system("touch /tmp/kqueue-test.tmp") < 0) + if (system("touch ./kqueue-test.tmp") < 0) err(1, "system"); nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); @@ -235,7 +235,7 @@ test_kevent_vnode_dispatch(void) /* Confirm that the watch is disabled automatically */ puts("-- checking that watch is disabled"); - if (system("touch /tmp/kqueue-test.tmp") < 0) + if (system("touch ./kqueue-test.tmp") < 0) err(1, "system"); test_no_kevents(); |