summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2016-09-20 23:05:27 +0000
committerbluhm <bluhm@openbsd.org>2016-09-20 23:05:27 +0000
commitbd35765dfde630203782d36f741b7bde1f9f8a3e (patch)
treedf286a988453e1f8bc4a60748158ecc388dd07dd
parentRemove duplicated includes in stdlib.h and termios.h (diff)
downloadwireguard-openbsd-bd35765dfde630203782d36f741b7bde1f9f8a3e.tar.xz
wireguard-openbsd-bd35765dfde630203782d36f741b7bde1f9f8a3e.zip
To make debugging the kqueue test easier, always print the assertion
failure before returning.
-rw-r--r--regress/sys/kern/kqueue/Makefile4
-rw-r--r--regress/sys/kern/kqueue/kqueue-fdpass.c18
-rw-r--r--regress/sys/kern/kqueue/kqueue-flock.c7
-rw-r--r--regress/sys/kern/kqueue/kqueue-fork.c20
-rw-r--r--regress/sys/kern/kqueue/kqueue-pipe.c34
-rw-r--r--regress/sys/kern/kqueue/kqueue-process.c24
-rw-r--r--regress/sys/kern/kqueue/kqueue-pty.c45
-rw-r--r--regress/sys/kern/kqueue/kqueue-random.c54
-rw-r--r--regress/sys/kern/kqueue/kqueue-signal.c24
-rw-r--r--regress/sys/kern/kqueue/kqueue-timer.c29
-rw-r--r--regress/sys/kern/kqueue/kqueue-tun.c9
-rw-r--r--regress/sys/kern/kqueue/main.c15
-rw-r--r--regress/sys/kern/kqueue/main.h27
13 files changed, 145 insertions, 165 deletions
diff --git a/regress/sys/kern/kqueue/Makefile b/regress/sys/kern/kqueue/Makefile
index efc23d64bb6..823f6e99161 100644
--- a/regress/sys/kern/kqueue/Makefile
+++ b/regress/sys/kern/kqueue/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.18 2015/12/05 10:51:49 blambert Exp $
+# $OpenBSD: Makefile,v 1.19 2016/09/20 23:05:27 bluhm Exp $
PROG= kqueue-test
CFLAGS+=-Wall
@@ -35,7 +35,7 @@ kq-timer: ${PROG}
REGRESS_TARGETS=kq-pipe kq-fork kq-process kq-random kq-pty kq-signal \
kq-fdpass kq-flock kq-timer
-# kq-tun broke at some point, apparently from a change in tun routing
+# kq-tun broke at some point, apparently from a change in tun routing
REGRESS_ROOT_TARGETS=${REGRESS_TARGETS}
.PHONY: ${REGRESS_TARGETS}
diff --git a/regress/sys/kern/kqueue/kqueue-fdpass.c b/regress/sys/kern/kqueue/kqueue-fdpass.c
index 7a7aaadab5d..fd12498a2fd 100644
--- a/regress/sys/kern/kqueue/kqueue-fdpass.c
+++ b/regress/sys/kern/kqueue/kqueue-fdpass.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-fdpass.c,v 1.2 2015/08/13 10:14:41 uebayasi Exp $ */
+/* $OpenBSD: kqueue-fdpass.c,v 1.3 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Written by Philip Guenther <guenther@openbsd.org> 2011 Public Domain
*/
@@ -9,20 +9,15 @@
#include <sys/un.h>
#include <sys/wait.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
#include <err.h>
#include <errno.h>
-#include <unistd.h>
#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
-#define ASS(cond, mess) do { if (!(cond)) { mess; return 1; } } while (0)
-
-#define ASSX(cond) ASS(cond, warnx("assertion " #cond " failed on line %d", __LINE__))
-
-
-int do_fdpass(void);
+#include "main.h"
int
do_fdpass(void)
@@ -80,4 +75,3 @@ do_fdpass(void)
return (0);
}
-
diff --git a/regress/sys/kern/kqueue/kqueue-flock.c b/regress/sys/kern/kqueue/kqueue-flock.c
index 2b1125d6b76..b0a59e7c4d5 100644
--- a/regress/sys/kern/kqueue/kqueue-flock.c
+++ b/regress/sys/kern/kqueue/kqueue-flock.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-flock.c,v 1.3 2015/08/13 10:13:55 uebayasi Exp $ */
+/* $OpenBSD: kqueue-flock.c,v 1.4 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Written by Philip Guenther <guenther@openbsd.org> 2012 Public Domain
*/
@@ -7,6 +7,7 @@
#include <sys/event.h>
#include <sys/time.h>
#include <sys/wait.h>
+
#include <err.h>
#include <errno.h>
#include <fcntl.h>
@@ -15,9 +16,9 @@
#include <string.h>
#include <unistd.h>
-#define FILE "lock.test"
+#include "main.h"
-int do_flock(void);
+#define FILE "lock.test"
static void
check_lock(int fd, const char *msg)
diff --git a/regress/sys/kern/kqueue/kqueue-fork.c b/regress/sys/kern/kqueue/kqueue-fork.c
index 67ab19350a7..ab7f59223ee 100644
--- a/regress/sys/kern/kqueue/kqueue-fork.c
+++ b/regress/sys/kern/kqueue/kqueue-fork.c
@@ -1,28 +1,26 @@
-/* $OpenBSD: kqueue-fork.c,v 1.2 2003/07/31 21:48:08 deraadt Exp $ */
+/* $OpenBSD: kqueue-fork.c,v 1.3 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain
*/
-#include <stdlib.h>
-#include <stdio.h>
-#include <err.h>
-#include <unistd.h>
-
#include <sys/types.h>
#include <sys/event.h>
#include <sys/wait.h>
-int check_inheritance(void);
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "main.h"
int
check_inheritance(void)
{
int kq, status;
- if ((kq = kqueue()) < 0) {
- warn("kqueue");
- return (1);
- }
+ ASS((kq = kqueue()) >= 0,
+ warn("kqueue"));
/*
* Check if the kqueue is properly closed on fork().
diff --git a/regress/sys/kern/kqueue/kqueue-pipe.c b/regress/sys/kern/kqueue/kqueue-pipe.c
index ef47b967b39..363bcac6651 100644
--- a/regress/sys/kern/kqueue/kqueue-pipe.c
+++ b/regress/sys/kern/kqueue/kqueue-pipe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-pipe.c,v 1.6 2015/08/13 10:13:05 uebayasi Exp $ */
+/* $OpenBSD: kqueue-pipe.c,v 1.7 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Copyright 2001 Niels Provos <provos@citi.umich.edu>
* All rights reserved.
@@ -28,15 +28,18 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#include <sys/types.h>
#include <sys/time.h>
#include <sys/event.h>
-#include <stdio.h>
-#include <unistd.h>
+
+#include <err.h>
#include <fcntl.h>
+#include <stdio.h>
#include <string.h>
+#include <unistd.h>
-int do_pipe(void);
+#include "main.h"
int
do_pipe(void)
@@ -48,22 +51,21 @@ do_pipe(void)
struct timespec ts;
char buf[8000];
- if (pipe(fd) == -1)
- return (1);
- if (fcntl(fd[1], F_SETFL, O_NONBLOCK) == -1)
- return (1);
+ ASS(pipe(fd) == 0,
+ warn("pipe"));
+ ASS(fcntl(fd[1], F_SETFL, O_NONBLOCK) == 0,
+ warn("fcntl"));
- if ((kq = kqueue()) == -1)
- return (1);
+ ASS((kq = kqueue()) >= 0,
+ warn("fcntl"));
memset(&ev, 0, sizeof(ev));
ev.ident = fd[1];
ev.filter = EVFILT_WRITE;
ev.flags = EV_ADD | EV_ENABLE;
n = kevent(kq, &ev, 1, NULL, 0, NULL);
- if (n == -1)
- return (1);
-
+ ASSX(n != -1);
+
memset(buf, 0, sizeof(buf));
while ((n = write(fd[1], buf, sizeof(buf))) == sizeof(buf))
;
@@ -71,16 +73,14 @@ do_pipe(void)
ts.tv_sec = 0;
ts.tv_nsec = 0;
n = kevent(kq, NULL, 0, &ev, 1, &ts);
- if (n != 0)
- return (1);
+ ASSX(n == 0);
read(fd[0], buf, sizeof(buf));
ts.tv_sec = 0;
ts.tv_nsec = 0;
n = kevent(kq, NULL, 0, &ev, 1, &ts);
- if (n == -1 || n == 0)
- return (1);
+ ASSX(n != -1 && n != 0);
close(fd[0]);
close(fd[1]);
diff --git a/regress/sys/kern/kqueue/kqueue-process.c b/regress/sys/kern/kqueue/kqueue-process.c
index a9b800a4726..dd3ae9b536c 100644
--- a/regress/sys/kern/kqueue/kqueue-process.c
+++ b/regress/sys/kern/kqueue/kqueue-process.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-process.c,v 1.11 2016/09/04 18:08:04 bluhm Exp $ */
+/* $OpenBSD: kqueue-process.c,v 1.12 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain
*/
@@ -7,18 +7,16 @@
#include <sys/event.h>
#include <sys/wait.h>
-#include <stdlib.h>
-#include <stdio.h>
#include <err.h>
#include <errno.h>
-#include <unistd.h>
#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
-static int process_child(void);
-
-#define ASS(cond, mess) do { if (!(cond)) { mess; return 1; } } while (0)
+#include "main.h"
-#define ASSX(cond) ASS(cond, warnx("assertion " #cond " failed on line %d", __LINE__))
+static int process_child(void);
static void
usr1handler(int signum)
@@ -26,8 +24,6 @@ usr1handler(int signum)
/* nada */
}
-int do_process(void);
-
int
do_process(void)
{
@@ -44,7 +40,8 @@ do_process(void)
ts.tv_sec = 10;
ts.tv_nsec = 0;
- ASS((kq = kqueue()) >= 0, warn("kqueue"));
+ ASS((kq = kqueue()) >= 0,
+ warn("kqueue"));
/*
* Install a signal handler so that we can use pause() to synchronize
@@ -103,14 +100,13 @@ do_process(void)
}
}
- if (pid2 == -1)
- return (1);
+ ASSX(pid2 != -1);
/* Both children now sleeping. */
ASSX(didchild == 1);
ASSX(didfork == 1);
-
+
kill(pid2, SIGUSR1); /* sync 2.1 */
kill(pid, SIGUSR1); /* sync 2 */
diff --git a/regress/sys/kern/kqueue/kqueue-pty.c b/regress/sys/kern/kqueue/kqueue-pty.c
index a19e886db38..6cad237e1b2 100644
--- a/regress/sys/kern/kqueue/kqueue-pty.c
+++ b/regress/sys/kern/kqueue/kqueue-pty.c
@@ -1,17 +1,20 @@
-/* $OpenBSD: kqueue-pty.c,v 1.6 2015/08/13 10:11:38 uebayasi Exp $ */
+/* $OpenBSD: kqueue-pty.c,v 1.7 2016/09/20 23:05:27 bluhm Exp $ */
/* Written by Michael Shalayeff, 2003, Public Domain */
#include <sys/types.h>
#include <sys/time.h>
#include <sys/event.h>
+
+#include <err.h>
+#include <fcntl.h>
#include <stdio.h>
+#include <string.h>
+#include <termios.h>
#include <unistd.h>
#include <util.h>
-#include <termios.h>
-#include <fcntl.h>
-#include <err.h>
-#include <string.h>
+
+#include "main.h"
static int
pty_check(int kq, struct kevent *ev, int n, int rm, int rs, int wm, int ws)
@@ -24,20 +27,15 @@ pty_check(int kq, struct kevent *ev, int n, int rm, int rs, int wm, int ws)
if ((n = kevent(kq, NULL, 0, ev, n, &ts)) < 0)
err(1, "slave: kevent");
- if (n == 0)
- return (1);
+ ASSX(n != 0);
for (i = 0; i < n; i++, ev++) {
if (ev->filter == EVFILT_READ) {
- if (rm < 0 && ev->ident == -rm)
- return (1);
- if (rs < 0 && ev->ident == -rs)
- return (1);
+ ASSX(rm > 0 || ev->ident != -rm);
+ ASSX(rs > 0 || ev->ident != -rs);
} else if (ev->filter == EVFILT_WRITE) {
- if (wm < 0 && ev->ident == -wm)
- return (1);
- if (ws < 0 && ev->ident == -ws)
- return (1);
+ ASSX(wm > 0 || ev->ident != -wm);
+ ASSX(ws > 0 || ev->ident != -ws);
} else
errx(1, "unknown event");
}
@@ -45,8 +43,6 @@ pty_check(int kq, struct kevent *ev, int n, int rm, int rs, int wm, int ws)
return (0);
}
-int do_pty(void);
-
int
do_pty(void)
{
@@ -80,30 +76,25 @@ do_pty(void)
if (write(massa, " ", 1) != 1)
err(1, "massa: write");
- if (pty_check(kq, ev, 4, -massa, slave, massa, slave))
- return (1);
+ ASSX(pty_check(kq, ev, 4, -massa, slave, massa, slave) == 0);
read(slave, buf, sizeof(buf));
- if (pty_check(kq, ev, 4, -massa, -slave, massa, slave))
- return (1);
+ ASSX(pty_check(kq, ev, 4, -massa, -slave, massa, slave) == 0);
while (write(massa, buf, sizeof(buf)) > 0)
continue;
- if (pty_check(kq, ev, 4, -massa, slave, -massa, slave))
- return (1);
+ ASSX(pty_check(kq, ev, 4, -massa, slave, -massa, slave) == 0);
read(slave, buf, 1);
- if (pty_check(kq, ev, 4, -massa, slave, massa, slave))
- return (1);
+ ASSX(pty_check(kq, ev, 4, -massa, slave, massa, slave) == 0);
while (read(slave, buf, sizeof(buf)) > 0)
continue;
- if (pty_check(kq, ev, 4, -massa, -slave, massa, slave))
- return (1);
+ ASSX(pty_check(kq, ev, 4, -massa, -slave, massa, slave) == 0);
return (0);
}
diff --git a/regress/sys/kern/kqueue/kqueue-random.c b/regress/sys/kern/kqueue/kqueue-random.c
index 414a4dd6948..0825f7bb35d 100644
--- a/regress/sys/kern/kqueue/kqueue-random.c
+++ b/regress/sys/kern/kqueue/kqueue-random.c
@@ -1,12 +1,6 @@
-/* $OpenBSD: kqueue-random.c,v 1.9 2015/08/13 10:12:04 uebayasi Exp $ */
+/* $OpenBSD: kqueue-random.c,v 1.10 2016/09/20 23:05:27 bluhm Exp $ */
/* Written by Michael Shalayeff, 2002, Public Domain */
-#include <stdlib.h>
-#include <stdio.h>
-#include <err.h>
-#include <unistd.h>
-#include <string.h>
-
#include <sys/param.h>
#include <sys/event.h>
#include <sys/wait.h>
@@ -14,7 +8,13 @@
#include <dev/rndvar.h>
-int do_random(void);
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "main.h"
int
do_random(void)
@@ -24,46 +24,28 @@ do_random(void)
struct kevent ev;
u_int32_t buf[BUFSIZ];
- if ((fd = open("/dev/random", O_RDONLY)) < 0) {
- warn("open: /dev/random");
- return (1);
- }
- if (fcntl(fd, F_SETFL, O_NONBLOCK) == -1) {
- warn("fcntl");
- close(fd);
- return (1);
- }
+ ASS((fd = open("/dev/random", O_RDONLY)) >= 0,
+ warn("open: /dev/random"));
+ ASS(fcntl(fd, F_SETFL, O_NONBLOCK) == 0,
+ warn("fcntl"));
- if ((kq = kqueue()) < 0) {
- warn("kqueue");
- close(fd);
- return (1);
- }
+ ASS((kq = kqueue()) >= 0,
+ warn("kqueue"));
memset(&ev, 0, sizeof(ev));
ev.ident = fd;
ev.filter = EVFILT_READ;
ev.flags = EV_ADD | EV_ENABLE;
n = kevent(kq, &ev, 1, NULL, 0, NULL);
- if (n == -1) {
- warn("kevent");
- close(kq);
- close(fd);
- return (1);
- }
+ ASSX(n != -1);
ts.tv_sec = 0;
ts.tv_nsec = 0;
- if (kevent(kq, NULL, 0, &ev, 1, &ts) < 0) {
- warn("kevent2");
- return (1);
- }
+ n = kevent(kq, NULL, 0, &ev, 1, &ts);
+ ASSX(n >= 0);
n = MIN((ev.data + 7) / 8, sizeof(buf));
- if (read(fd, buf, n) < 1) {
- warnx("read %d", n);
- return (1);
- }
+ ASSX(read(fd, buf, n) > 0);
close(kq);
close(fd);
diff --git a/regress/sys/kern/kqueue/kqueue-signal.c b/regress/sys/kern/kqueue/kqueue-signal.c
index 97980968373..0bd758d734e 100644
--- a/regress/sys/kern/kqueue/kqueue-signal.c
+++ b/regress/sys/kern/kqueue/kqueue-signal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-signal.c,v 1.2 2016/07/14 05:55:08 guenther Exp $ */
+/* $OpenBSD: kqueue-signal.c,v 1.3 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Written by Philip Guenther <guenther@openbsd.org> 2011 Public Domain
*/
@@ -9,17 +9,15 @@
#include <sys/un.h>
#include <sys/wait.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
#include <err.h>
#include <errno.h>
-#include <unistd.h>
#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
-#define ASS(cond, mess) do { if (!(cond)) { mess; return 1; } } while (0)
-
-#define ASSX(cond) ASS(cond, warnx("assertion " #cond " failed on line %d", __LINE__))
+#include "main.h"
volatile sig_atomic_t saw_usr1 = 0;
volatile sig_atomic_t result = 0;
@@ -49,9 +47,6 @@ usr1handler(int signum)
result = sigtest(SIGUSR1, 1);
}
-
-int do_signal(void);
-
int
do_signal(void)
{
@@ -82,12 +77,10 @@ do_signal(void)
ASSX(saw_usr1 == 1);
kill(pid, SIGUSR2);
- if (sigtest(SIGUSR2, 1))
- return (1);
+ ASSX(sigtest(SIGUSR2, 1) == 0);
kill(pid, SIGUSR2);
kill(pid, SIGUSR2);
- if (sigtest(SIGUSR2, 2))
- return (1);
+ ASSX(sigtest(SIGUSR2, 2) == 0);
sigemptyset(&mask);
sigaddset(&mask, SIGUSR1);
@@ -102,4 +95,3 @@ do_signal(void)
return (0);
}
-
diff --git a/regress/sys/kern/kqueue/kqueue-timer.c b/regress/sys/kern/kqueue/kqueue-timer.c
index 9c162018d0a..02114b5094e 100644
--- a/regress/sys/kern/kqueue/kqueue-timer.c
+++ b/regress/sys/kern/kqueue/kqueue-timer.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-timer.c,v 1.1 2015/12/05 10:51:49 blambert Exp $ */
+/* $OpenBSD: kqueue-timer.c,v 1.2 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Copyright (c) 2015 Bret Stephen Lambert <blambert@openbsd.org>
*
@@ -14,14 +14,17 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+
#include <sys/types.h>
#include <sys/time.h>
#include <sys/event.h>
+
+#include <err.h>
#include <stdio.h>
-#include <unistd.h>
#include <string.h>
+#include <unistd.h>
-int do_timer(void);
+#include "main.h"
int
do_timer(void)
@@ -30,22 +33,22 @@ do_timer(void)
struct kevent ev;
struct timespec ts;
- if ((kq = kqueue()) == -1)
- return (1);
+ ASS((kq = kqueue()) >= 0,
+ warn("kqueue"));
memset(&ev, 0, sizeof(ev));
ev.filter = EVFILT_TIMER;
ev.flags = EV_ADD | EV_ENABLE | EV_ONESHOT;
ev.data = 500; /* 1/2 second in ms */
- if (kevent(kq, &ev, 1, NULL, 0, NULL) == -1)
- return (1);
+ n = kevent(kq, &ev, 1, NULL, 0, NULL);
+ ASSX(n != -1);
ts.tv_sec = 2; /* wait 2s for kqueue timeout */
ts.tv_nsec = 0;
- if ((n = kevent(kq, NULL, 0, &ev, 1, &ts)) != 1)
- return (1);
+ n = kevent(kq, NULL, 0, &ev, 1, &ts);
+ ASSX(n == 1);
/* Now retry w/o EV_ONESHOT, as EV_CLEAR is implicit */
@@ -54,14 +57,14 @@ do_timer(void)
ev.flags = EV_ADD | EV_ENABLE;
ev.data = 500; /* 1/2 second in ms */
- if (kevent(kq, &ev, 1, NULL, 0, NULL) == -1)
- return (1);
+ n = kevent(kq, &ev, 1, NULL, 0, NULL);
+ ASSX(n != -1);
ts.tv_sec = 2; /* wait 2s for kqueue timeout */
ts.tv_nsec = 0;
- if ((n = kevent(kq, NULL, 0, &ev, 1, &ts)) != 1)
- return (1);
+ n = kevent(kq, NULL, 0, &ev, 1, &ts);
+ ASSX(n == 1);
return (0);
}
diff --git a/regress/sys/kern/kqueue/kqueue-tun.c b/regress/sys/kern/kqueue/kqueue-tun.c
index 088e54c5b56..c2638f2f350 100644
--- a/regress/sys/kern/kqueue/kqueue-tun.c
+++ b/regress/sys/kern/kqueue/kqueue-tun.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue-tun.c,v 1.4 2010/06/26 22:54:04 blambert Exp $ */
+/* $OpenBSD: kqueue-tun.c,v 1.5 2016/09/20 23:05:27 bluhm Exp $ */
/* $Gateweaver: tunkq.c,v 1.2 2003/11/27 22:47:41 cmaxwell Exp $ */
/*
* Copyright 2003 Christopher J. Maxwell <cmaxwell@themanor.net>
@@ -26,20 +26,25 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
+
#include <netinet/in.h>
#include <net/if.h>
#include <net/if_tun.h>
-#include <errno.h>
+
#include <err.h>
+#include <errno.h>
#include <event.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+#include "main.h"
+
#define TUN0 "tun98"
#define TUN1 "tun99"
#define TUN0_ADDR "192.0.2.1"
diff --git a/regress/sys/kern/kqueue/main.c b/regress/sys/kern/kqueue/main.c
index b4dca744e48..78ca80adb25 100644
--- a/regress/sys/kern/kqueue/main.c
+++ b/regress/sys/kern/kqueue/main.c
@@ -1,22 +1,13 @@
-/* $OpenBSD: main.c,v 1.8 2015/12/05 10:51:49 blambert Exp $ */
+/* $OpenBSD: main.c,v 1.9 2016/09/20 23:05:27 bluhm Exp $ */
/*
* Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain
*/
-#include <stdlib.h>
#include <stdio.h>
+#include <stdlib.h>
#include <unistd.h>
-int do_pipe(void);
-int check_inheritance(void);
-int do_process(void);
-int do_signal(void);
-int do_random(void);
-int do_pty(void);
-int do_tun(void);
-int do_fdpass(void);
-int do_flock(void);
-int do_timer(void);
+#include "main.h"
int
main(int argc, char **argv)
diff --git a/regress/sys/kern/kqueue/main.h b/regress/sys/kern/kqueue/main.h
new file mode 100644
index 00000000000..430d63cd05b
--- /dev/null
+++ b/regress/sys/kern/kqueue/main.h
@@ -0,0 +1,27 @@
+/* $OpenBSD: main.h,v 1.1 2016/09/20 23:05:27 bluhm Exp $ */
+/*
+ * Written by Alexaner Bluhm <bluhm@openbsd.org> 2016 Public Domain
+ */
+
+#define ASS(cond, mess) \
+ do { \
+ if (!(cond)) { \
+ mess; \
+ return (1); \
+ } \
+ } while (0)
+
+#define ASSX(cond) ASS(cond, \
+ warnx("assertion " #cond " failed in %s on line %d", \
+ __FILE__, __LINE__))
+
+int check_inheritance(void);
+int do_fdpass(void);
+int do_flock(void);
+int do_pipe(void);
+int do_process(void);
+int do_pty(void);
+int do_random(void);
+int do_signal(void);
+int do_timer(void);
+int do_tun(void);