From: Gert Doering Date: Sun, 22 Jan 2012 21:37:25 +0000 (+0100) Subject: add "print test titles" and "use sudo" functionality to t_client.rc X-Git-Tag: v2.3-alpha1~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c6ee9d1ecd85535c5529df1144fb02f613f5134;p=thirdparty%2Fopenvpn.git add "print test titles" and "use sudo" functionality to t_client.rc Signed-off-by: Gert Doering Acked-by: David Sommerseth Signed-off-by: David Sommerseth --- diff --git a/t_client.rc-sample b/t_client.rc-sample index ca59c68f4..e766b5db0 100644 --- a/t_client.rc-sample +++ b/t_client.rc-sample @@ -19,6 +19,12 @@ REMOTE=mytestserver # TEST_RUN_LIST="1 2" +# +# use "sudo" (etc) to give openvpn the necessary privileges +# if this is not active, "make check" must be run as root +# +#RUN_SUDO=sudo + # # base confic that is the same for all the p2mp test runs # @@ -39,6 +45,7 @@ OPENVPN_BASE_P2P="..." # # possible test options: # +# RUN_TITLE_x="what is being tested on here" (purely informational) # OPENVPN_CONF_x = "how to call ./openvpn" [mandatory] # EXPECT_IFCONFIG4_x = "this IPv4 address needs to show up in ifconfig" # EXPECT_IFCONFIG6_x = "this IPv6 address needs to show up in ifconfig" @@ -48,6 +55,7 @@ OPENVPN_BASE_P2P="..." # Test 1: UDP / p2mp tun # specify IPv4+IPv6 addresses expected from server and ping targets # +RUN_TITLE_1="testing tun/udp/ipv4+ipv6" OPENVPN_CONF_1="$OPENVPN_BASE_P2MP --dev tun --proto udp --remote $REMOTE --port 51194" EXPECT_IFCONFIG4_1="10.100.50.6" EXPECT_IFCONFIG6_1="2001:dba:a050::1:0" @@ -56,6 +64,7 @@ PING6_HOSTS_1="2001:dba::1 2001:dba:a050::1" # Test 2: TCP / p2mp tun # +RUN_TITLE_2="testing tun/tcp/ipv4+ipv6" OPENVPN_CONF_2="$OPENVPN_BASE_P2MP --dev tun --proto tcp --remote $REMOTE --port 51194" EXPECT_IFCONFIG4_2="10.100.51.6" EXPECT_IFCONFIG6_2="2001:dba:a051::1:0" diff --git a/t_client.sh.in b/t_client.sh.in index b2739644a..a6377dba0 100755 --- a/t_client.sh.in +++ b/t_client.sh.in @@ -50,8 +50,12 @@ ID=`id` if expr "$ID" : "uid=0" >/dev/null then : else - echo "$0: this test must run be as root. SKIP." >&2 - exit 77 + if [ -z "$RUN_SUDO" ] + then + echo "$0: this test must run be as root, or RUN_SUDO=... " >&2 + echo " must be set correctly in 't_client.rc'. SKIP." >&2 + exit 77 + fi fi LOGDIR=t_client-`hostname`-`date +%Y%m%d-%H%M%S` @@ -199,19 +203,20 @@ run_ping_tests() # ---------------------------------------------------------- for SUF in $TEST_RUN_LIST do - echo -e "\n### test run $SUF ###\n" - fail_count=0 - - echo "save pre-openvpn ifconfig + route" - get_ifconfig_route >$LOGDIR/$SUF:ifconfig_route_pre.txt - # get config variables + eval test_run_title=\"\$RUN_TITLE_$SUF\" eval openvpn_conf=\"\$OPENVPN_CONF_$SUF\" eval expect_ifconfig4=\"\$EXPECT_IFCONFIG4_$SUF\" eval expect_ifconfig6=\"\$EXPECT_IFCONFIG6_$SUF\" eval ping4_hosts=\"\$PING4_HOSTS_$SUF\" eval ping6_hosts=\"\$PING6_HOSTS_$SUF\" + echo -e "\n### test run $SUF: '$test_run_title' ###\n" + fail_count=0 + + echo "save pre-openvpn ifconfig + route" + get_ifconfig_route >$LOGDIR/$SUF:ifconfig_route_pre.txt + echo -e "\nrun pre-openvpn ping tests - targets must not be reachable..." run_ping_tests 4 want_fail "$ping4_hosts" run_ping_tests 6 want_fail "$ping6_hosts" @@ -224,7 +229,7 @@ do fi echo " run ./openvpn $openvpn_conf" - ./openvpn $openvpn_conf >$LOGDIR/$SUF:openvpn.log & + $RUN_SUDO ./openvpn $openvpn_conf >$LOGDIR/$SUF:openvpn.log & opid=$! # make sure openvpn client is terminated in case shell exits