mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
3d9e05b174
It turns out that in all conformant shells, "unset FOO" removes FOO both from the shell's variables and from the exported environment. (I've tested this on msys, opensolaris, linux, osx, and freebsd.) And in nearly every shell I can find, "unset FOO; export FOO" does the same as unset FOO... except in my FreeBSD VM, where the "export FOO" sets the exported value of FOO equal to "". This broke test.sh for us. The fix is simple: remove the needless exports!
126 lines
1.9 KiB
Bash
Executable File
126 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if test "x$TEST_OUTPUT_FILE" = "x"
|
|
then
|
|
TEST_OUTPUT_FILE=/dev/null
|
|
fi
|
|
|
|
# /bin/echo is a little more likely to support -n than sh's builtin echo.
|
|
if test -x /bin/echo
|
|
then
|
|
ECHO=/bin/echo
|
|
else
|
|
ECHO=echo
|
|
fi
|
|
|
|
if test "$TEST_OUTPUT_FILE" != "/dev/null"
|
|
then
|
|
touch "$TEST_OUTPUT_FILE" || exit 1
|
|
fi
|
|
|
|
TEST_DIR=.
|
|
|
|
T=`echo "$0" | sed -e 's/test.sh$//'`
|
|
if test -x "$T/test-init"
|
|
then
|
|
TEST_DIR="$T"
|
|
fi
|
|
|
|
setup () {
|
|
EVENT_NOKQUEUE=yes; export EVENT_NOKQUEUE
|
|
EVENT_NODEVPOLL=yes; export EVENT_NODEVPOLL
|
|
EVENT_NOPOLL=yes; export EVENT_NOPOLL
|
|
EVENT_NOSELECT=yes; export EVENT_NOSELECT
|
|
EVENT_NOEPOLL=yes; export EVENT_NOEPOLL
|
|
EVENT_NOEVPORT=yes; export EVENT_NOEVPORT
|
|
EVENT_NOWIN32=yes; export EVENT_NOWIN32
|
|
}
|
|
|
|
announce () {
|
|
echo $@
|
|
echo $@ >>"$TEST_OUTPUT_FILE"
|
|
}
|
|
|
|
announce_n () {
|
|
$ECHO -n $@
|
|
echo $@ >>"$TEST_OUTPUT_FILE"
|
|
}
|
|
|
|
|
|
run_tests () {
|
|
if $TEST_DIR/test-init 2>>"$TEST_OUTPUT_FILE" ;
|
|
then
|
|
true
|
|
else
|
|
announce Skipping test
|
|
return
|
|
fi
|
|
|
|
announce_n " test-eof: "
|
|
if $TEST_DIR/test-eof >>"$TEST_OUTPUT_FILE" ;
|
|
then
|
|
announce OKAY ;
|
|
else
|
|
announce FAILED ;
|
|
fi
|
|
announce_n " test-weof: "
|
|
if $TEST_DIR/test-weof >>"$TEST_OUTPUT_FILE" ;
|
|
then
|
|
announce OKAY ;
|
|
else
|
|
announce FAILED ;
|
|
fi
|
|
announce_n " test-time: "
|
|
if $TEST_DIR/test-time >>"$TEST_OUTPUT_FILE" ;
|
|
then
|
|
announce OKAY ;
|
|
else
|
|
announce FAILED ;
|
|
fi
|
|
announce_n " regress: "
|
|
if $TEST_DIR/regress >>"$TEST_OUTPUT_FILE" ;
|
|
then
|
|
announce OKAY ;
|
|
else
|
|
announce FAILED ;
|
|
fi
|
|
}
|
|
|
|
announce "Running tests:"
|
|
|
|
# Need to do this by hand?
|
|
setup
|
|
unset EVENT_NOKQUEUE
|
|
announce "KQUEUE"
|
|
run_tests
|
|
|
|
setup
|
|
unset EVENT_NODEVPOLL
|
|
announce "DEVPOLL"
|
|
run_tests
|
|
|
|
setup
|
|
unset EVENT_NOPOLL
|
|
announce "POLL"
|
|
run_tests
|
|
|
|
setup
|
|
unset EVENT_NOSELECT
|
|
announce "SELECT"
|
|
run_tests
|
|
|
|
setup
|
|
unset EVENT_NOEPOLL
|
|
announce "EPOLL"
|
|
run_tests
|
|
|
|
setup
|
|
unset EVENT_NOEVPORT
|
|
announce "EVPORT"
|
|
run_tests
|
|
|
|
setup
|
|
unset EVENT_NOWIN32
|
|
announce "WIN32"
|
|
run_tests
|