[Openvpn-devel,v5] t_client.sh.in: Add utility function needs_openvpn()
Commit Message
From: Frank Lichtenheld <frank@lichtenheld.com>
This allows to skip tests on old versions of openvpn.
Makes it much easier to maintain a t_client.rc across
multiple versions.
Change-Id: I1905d9494336da4e91f1946d2ffd875720605b41
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Razvan Cojocaru <razvanc@mailbox.org>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1763
---
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/+/1763
This mail reflects revision 5 of this Change.
Acked-by according to Gerrit (reflected above):
Razvan Cojocaru <razvanc@mailbox.org>
@@ -22,14 +22,16 @@
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
- . "${srcdir}"/t_client.rc
-else
- echo "$0: cannot find 't_client.rc' in build dir ('${top_builddir}')" >&2
- echo "$0: or source directory ('${srcdir}'). SKIPPING TEST." >&2
- exit "${TCLIENT_SKIP_RC}"
+if [ -z "${t_client_rc}" ]; then
+ if [ -r "${top_builddir}"/t_client.rc ]; then
+ t_client_rc="${top_builddir}"/t_client.rc
+ elif [ -r "${srcdir}"/t_client.rc ]; then
+ t_client_rc="${srcdir}"/t_client.rc
+ else
+ echo "$0: cannot find 't_client.rc' in build dir ('${top_builddir}')" >&2
+ echo "$0: or source directory ('${srcdir}'). SKIPPING TEST." >&2
+ exit "${TCLIENT_SKIP_RC}"
+ fi
fi
# Check for external dependencies
@@ -63,6 +65,18 @@
exit 1
fi
+openvpn_version=$(${openvpn} --version | head -n 1 | cut -f2 -d" " | sed -E 's/^2\.([0123456789]+).*$/2\1/')
+
+needs_openvpn()
+{
+ needs_version=$1
+
+ [ "$openvpn_version" -ge "$needs_version" ]
+ return $?
+}
+
+. "${t_client_rc}"
+
if [ -z "$TEST_RUN_LIST" ]; then
echo "TEST_RUN_LIST empty, no tests defined. SKIP test." >&2
exit "${TCLIENT_SKIP_RC}"