2 * Copyright (c) 2009 Mark Heily <mark@heily.com>
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
24 # define err(rc,msg,...) do { perror(msg); exit(rc); } while (0)
25 # define errx(rc,msg,...) do { puts(msg); exit(rc); } while (0)
28 #define die(str) do { \
29 fprintf(stderr, "%s(): %s: %s\n", __func__,str, strerror(errno));\
41 #include <sys/socket.h>
42 #include <sys/types.h>
45 #include <sys/event.h>
49 void test_evfilt_read(int);
50 void test_evfilt_signal(int);
51 void test_evfilt_vnode(int);
52 void test_evfilt_timer(int);
53 void test_evfilt_proc(int);
55 void test_evfilt_user(int);
58 #define test(f,...) do { \
59 test_begin("test_"#f"()\t"__VA_ARGS__); \
62 } while (/*CONSTCOND*/0)
64 extern const char * kevent_to_str(struct kevent *);
65 struct kevent * kevent_get(int);
68 void kevent_update(int kqfd, struct kevent *kev);
70 void kevent_cmp(struct kevent *, struct kevent *);
73 kevent_add(int kqfd, struct kevent *kev,
82 #define KEV_CMP(kev,_ident,_filter,_flags) do { \
83 if (kev.ident != (_ident) || \
84 kev.filter != (_filter) || \
85 kev.flags != (_flags)) \
86 err(1, "kevent mismatch: got [%d,%d,%d] but expecting [%d,%d,%d]", \
87 (int)_ident, (int)_filter, (int)_flags,\
88 (int)kev.ident, kev.filter, kev.flags);\
91 /* Checks if any events are pending, which is an error. */
92 void test_no_kevents(int);
95 void test_begin(const char *);
97 void test_atexit(void);
98 void testing_begin(void);
99 void testing_end(void);
100 int testing_make_uid(void);
102 #endif /* _COMMON_H */