#
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
#
#
# 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"
# 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"
# 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"
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`
# ----------------------------------------------------------
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"
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