Edit

kc3-lang/libevent/test/test.sh

Branch :

  • Show log

    Commit

  • Author : Nick Mathewson
    Date : 2010-05-08 19:56:25
    Hash : 3d9e05b1
    Message : Fix test.sh on freebsd 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!

  • test/test.sh
  • #!/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