summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2016-12-03 02:55:19 +0000
committerngie <ngie@FreeBSD.org>2016-12-03 02:55:19 +0000
commit2191e1f6f481f1ccb95a292874a4676a56e01b6c (patch)
treedf47b4e512fc62f8eb97c24ee2d67c4c5f4c3eac /tests
parent6a5b5c2afb18d38280c7cf791468a73ce609265a (diff)
downloadFreeBSD-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/Makefile28
-rw-r--r--tests/sys/kqueue/libkqueue/Makefile21
-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-xtests/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();
OpenPOWER on IntegriCloud