[Openvpn-devel,v3] t_client.sh.in: Allow to override the location of t_client_ips.rc
Commit Message
From: Frank Lichtenheld <frank@lichtenheld.com>
Makes it easier to use t_client.sh in other contexts.
This is based on work by Gert Doering for the t_server
test infrastructure.
Change-Id: Ia4a9a6bafb6bcb3fe331a92cfbb64be78f6aa33a
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Razvan Cojocaru <razvanc@mailbox.org>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1756
---
This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1756
This mail reflects revision 3 of this Change.
Acked-by according to Gerrit (reflected above):
Razvan Cojocaru <razvanc@mailbox.org>
@@ -14,8 +14,8 @@
#FPING_EXTRA_ARGS="-t 1000"
# Load EXPECT_IFCONFIG* parameters from cache
-if [ -r "${top_builddir}/t_client_ips.rc" ]; then
- . "${top_builddir}/t_client_ips.rc"
+if [ -r "${t_client_ips_rc}" ]; then
+ . "${t_client_ips_rc}"
else
echo "NOTICE: missing t_client_ips.rc will be auto-generated"
fi
@@ -63,6 +63,12 @@
# PING6_HOSTS_x = "these hosts musts ping when openvpn is up (IPv6 fping6)"
# EXPECT_FAIL_x = "instead of waiting for connection wait for this error message"
#
+# Note that the EXPECT_IFCONFIG{4,6} options are not generally required, the
+# tests will remember the ip address they got on the first run in t_client_ips.rc
+# and will expect to get the same address again. But it can be useful to hard-code
+# the IP when the server is expected to send a very specific address, e.g. when
+# using ccd on the server-side or in a P2P scenario.
+#
# hook test options:
#
# CHECK_SKIP_x = "commands to execute before openvpn, skip test on failure"
@@ -19,6 +19,9 @@
srcdir="${srcdir:-.}"
top_builddir="${top_builddir:-..}"
openvpn="${openvpn:-${top_builddir}/src/openvpn/openvpn}"
+t_client_ips_rc="${t_client_ips_rc:-${top_builddir}/t_client_ips.rc}"
+update_t_client_ips="${update_t_client_ips:-${srcdir}/update_t_client_ips.sh}"
+
if [ -r "${top_builddir}"/t_client.rc ] ; then
. "${top_builddir}"/t_client.rc
elif [ -r "${srcdir}"/t_client.rc ] ; then
@@ -326,7 +329,7 @@
# If EXCEPT_IFCONFIG* variables for this test are missing, run an --up
# script to generate them dynamically.
if [ -z "$expect_ifconfig4" ] || [ -z "$expect_ifconfig6" ]; then
- up="--setenv TESTNUM $SUF --setenv TOP_BUILDDIR ${top_builddir} --script-security 2 --up ${srcdir}/update_t_client_ips.sh"
+ up="--setenv TESTNUM $SUF --setenv RC ${t_client_ips_rc} --script-security 2 --up ${update_t_client_ips}"
else
up=""
fi
@@ -2,9 +2,6 @@
#
# This --up script caches the IPs handed out by the test VPN server to a file
# for later use.
-
-RC="$TOP_BUILDDIR/t_client_ips.rc"
-
grep EXPECT_IFCONFIG4_$TESTNUM= $RC > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "EXPECT_IFCONFIG4_$TESTNUM=$ifconfig_local" >> $RC