# /bin/echo is a little more likely to support -n than sh's builtin echo, # printf is even more likely if test "`printf %s hello 2>&1`" = "hello" then
ECHO_N="printf %s" else if test -x /bin/echo then
ECHO_N="/bin/echo -n" else
ECHO_N="echo -n" fi fi
if test "$TEST_OUTPUT_FILE" != "/dev/null" then
touch "$TEST_OUTPUT_FILE" || exit 1 fi
TEST_DIR=.
TEST_SRC_DIR=.
T=`echo"$0" | sed -e 's/test.sh$//'` if test -x "$T/test-init" then
TEST_DIR="$T" elif test -x "./test/test-init" then
TEST_DIR="./test" fi if test -f "$T/check-dumpevents.py" then
TEST_SRC_DIR="$T" elif test -f "./test/check-dumpevents.py" then
TEST_SRC_DIR="./test" fi
setup () { for i in $BACKENDS; do eval"EVENT_NO$i=yes; export EVENT_NO$i" done
unset EVENT_EPOLL_USE_CHANGELIST
unset EVENT_PRECISE_TIMER
}
run_tests () { if $TEST_DIR/test-init 2>>"$TEST_OUTPUT_FILE" ; then
true else
announce Skipping test
return fi for i in $TESTS; do
announce_n " $i: " if $TEST_DIR/$i >>"$TEST_OUTPUT_FILE" ; then
announce OKAY ; else
announce FAILED ;
FAILED=yes fi done
announce_n " test-dumpevents: " if python -c 'import sys; assert(sys.version_info >= (2, 4))' 2>/dev/null && test -f $TEST_SRC_DIR/check-dumpevents.py; then if $TEST_DIR/test-dumpevents | $TEST_SRC_DIR/check-dumpevents.py >> "$TEST_OUTPUT_FILE"; then
announce OKAY ; else
announce FAILED ; fi else # no python if $TEST_DIR/test-dumpevents >/dev/null; then
announce "OKAY (output not checked)" ; else
announce "FAILED (output not checked)" ; fi fi
test -x $TEST_DIR/regress || return
announce_n " regress: " if test "$TEST_OUTPUT_FILE" = "/dev/null" ; then
$TEST_DIR/regress --quiet $REGRESS_ARGS else
$TEST_DIR/regress $REGRESS_ARGS >>"$TEST_OUTPUT_FILE" fi if test "$?" = "0" ; then
announce OKAY ; else
announce FAILED ;
FAILED=yes fi
announce_n " regress_debug: " if test "$TEST_OUTPUT_FILE" = "/dev/null" ; then
EVENT_DEBUG_MODE=1 $TEST_DIR/regress --quiet $REGRESS_ARGS else
EVENT_DEBUG_MODE=1 $TEST_DIR/regress $REGRESS_ARGS >>"$TEST_OUTPUT_FILE" fi if test "$?" = "0" ; then
announce OKAY ; else
announce FAILED ;
FAILED=yes fi
}
do_test() {
setup
announce "$1 $2"
unset EVENT_NO$1 if test "$2" = "(changelist)" ; then
EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST elif test "$2" = "(timerfd)" ; then
EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER elif test "$2" = "(timerfd+changelist)" ; then
EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST
EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER fi
run_tests
}
usage()
{ cat <<EOL
-b - specify backends
-t - run timerfd test
-c - run changelist test
-T - run timerfd+changelist test
EOL
}
main()
{
backends=$BACKENDS
timerfd=0
changelist=0
timerfd_changelist=0
while getopts "b:tcT" c; do
case "$c" in
b) backends="$OPTARG";;
t) timerfd=1;;
c) changelist=1;;
T) timerfd_changelist=1;;
?*) usage && exit 1;;
esac done
announce "Running tests:"
[ $timerfd -eq 0 ] || do_test EPOLL "(timerfd)"
[ $changelist -eq 0 ] || do_test EPOLL "(changelist)"
[ $timerfd_changelist -eq 0 ] || do_test EPOLL "(timerfd+changelist)" for i in $backends; do
do_test $i done
if test "$FAILED" = "yes"; then
exit 1 fi
}
main "$@"
Messung V0.5
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.