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!
# Need to do this by hand?
setup
unset EVENT_NOKQUEUE
-export EVENT_NOKQUEUE
announce "KQUEUE"
run_tests
setup
unset EVENT_NODEVPOLL
-export EVENT_NODEVPOLL
announce "DEVPOLL"
run_tests
setup
unset EVENT_NOPOLL
-export EVENT_NOPOLL
announce "POLL"
run_tests
setup
unset EVENT_NOSELECT
-export EVENT_NOSELECT
announce "SELECT"
run_tests
setup
unset EVENT_NOEPOLL
-export EVENT_NOEPOLL
announce "EPOLL"
run_tests
setup
unset EVENT_NOEVPORT
-export EVENT_NOEVPORT
announce "EVPORT"
run_tests
setup
unset EVENT_NOWIN32
-export EVENT_NOWIN32
announce "WIN32"
run_tests