3 BACKENDS="EVPORT KQUEUE EPOLL DEVPOLL POLL SELECT WIN32"
4 TESTS="test-eof test-closed test-weof test-time test-changelist test-fdleak"
6 TEST_OUTPUT_FILE=${TEST_OUTPUT_FILE:-/dev/null}
7 REGRESS_ARGS=${REGRESS_ARGS:-}
9 # /bin/echo is a little more likely to support -n than sh's builtin echo,
10 # printf is even more likely
11 if test "`printf %s hello 2>&1`" = "hello"
23 if test "$TEST_OUTPUT_FILE" != "/dev/null"
25 touch "$TEST_OUTPUT_FILE" || exit 1
31 T=`echo "$0" | sed -e 's/test.sh$//'`
32 if test -x "$T/test-init"
35 elif test -x "./test/test-init"
39 if test -f "$T/check-dumpevents.py"
42 elif test -f "./test/check-dumpevents.py"
48 for i in $BACKENDS; do
49 eval "EVENT_NO$i=yes; export EVENT_NO$i"
51 unset EVENT_EPOLL_USE_CHANGELIST
52 unset EVENT_PRECISE_TIMER
57 echo "$@" >>"$TEST_OUTPUT_FILE"
62 echo "$@" >>"$TEST_OUTPUT_FILE"
67 if $TEST_DIR/test-init 2>>"$TEST_OUTPUT_FILE" ;
71 announce Skipping test
76 if $TEST_DIR/$i >>"$TEST_OUTPUT_FILE" ;
84 announce_n " test-dumpevents: "
85 if python2 -c 'import sys; assert(sys.version_info >= (2, 4))' 2>/dev/null && test -f $TEST_SRC_DIR/check-dumpevents.py; then
86 if $TEST_DIR/test-dumpevents | python2 $TEST_SRC_DIR/check-dumpevents.py >> "$TEST_OUTPUT_FILE" ;
94 if $TEST_DIR/test-dumpevents >/dev/null; then
95 announce "OKAY (output not checked)" ;
97 announce "FAILED (output not checked)" ;
101 test -x $TEST_DIR/regress || return
102 announce_n " regress: "
103 if test "$TEST_OUTPUT_FILE" = "/dev/null" ;
105 $TEST_DIR/regress --quiet $REGRESS_ARGS
107 $TEST_DIR/regress $REGRESS_ARGS >>"$TEST_OUTPUT_FILE"
117 announce_n " regress_debug: "
118 if test "$TEST_OUTPUT_FILE" = "/dev/null" ;
120 EVENT_DEBUG_MODE=1 $TEST_DIR/regress --quiet $REGRESS_ARGS
122 EVENT_DEBUG_MODE=1 $TEST_DIR/regress $REGRESS_ARGS >>"$TEST_OUTPUT_FILE"
137 if test "$2" = "(changelist)" ; then
138 EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST
139 elif test "$2" = "(timerfd)" ; then
140 EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER
141 elif test "$2" = "(timerfd+changelist)" ; then
142 EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST
143 EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER
152 -b - specify backends
153 -t - run timerfd test
154 -c - run changelist test
155 -T - run timerfd+changelist test
165 while getopts "b:tcT" c; do
167 b) backends="$OPTARG";;
170 T) timerfd_changelist=1;;
171 ?*) usage && exit 1;;
175 announce "Running tests:"
177 [ $timerfd -eq 0 ] || do_test EPOLL "(timerfd)"
178 [ $changelist -eq 0 ] || do_test EPOLL "(changelist)"
179 [ $timerfd_changelist -eq 0 ] || do_test EPOLL "(timerfd+changelist)"
180 for i in $backends; do
184 if test "$FAILED" = "yes"; then