From: Antonio Quartulli <anto...@openvpn.net> The t_net script currently has #!/bin/sh but it implicitly assume to be using bash. This is fine on most distros, but some do not have sh pointing to bash by default, thus breaking the script. Explicitly use bash to avoid failures.
On the other hand, run this unit-test only if SITNL was enabled at compile time. This test was designed with SITNL in mind and it is not yet ready for other backends. Running only when SITNL is enabled implies running on Linux only therefore we are guaranteed that bash will always work. While at it, also add a comment as of why the t_client.rc file is sourced. Signed-off-by: Antonio Quartulli <anto...@openvpn.net> --- configure.ac | 3 +++ tests/Makefile.am | 7 ++++--- tests/t_net.sh | 3 ++- tests/unit_tests/openvpn/Makefile.am | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 2d78098e..8c95e310 100644 --- a/configure.ac +++ b/configure.ac @@ -1226,11 +1226,14 @@ else enable_plugin_down_root="no" fi +AM_CONDITIONAL([HAVE_SITNL], [false]) + if test "${enable_iproute2}" = "yes"; then test -z "${IPROUTE}" && AC_MSG_ERROR([ip utility is required but missing]) AC_DEFINE([ENABLE_IPROUTE], [1], [enable iproute2 support]) else if test "${have_sitnl}" = "yes"; then AC_DEFINE([ENABLE_SITNL], [1], [enable sitnl support]) + AM_CONDITIONAL([HAVE_SITNL], [true]) else if test "${WIN32}" != "yes" -a "${have_sitnl}" != "yes"; then test -z "${ROUTE}" && AC_MSG_ERROR([route utility is required but missing]) test -z "${IFCONFIG}" && AC_MSG_ERROR([ifconfig utility is required but missing]) diff --git a/tests/Makefile.am b/tests/Makefile.am index 67acf7e3..801192ed 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -14,9 +14,10 @@ MAINTAINERCLEANFILES = \ SUBDIRS = unit_tests -test_scripts = t_net.sh -test_scripts += t_client.sh -test_scripts += t_lpback.sh t_cltsrv.sh +test_scripts = t_client.sh t_lpback.sh t_cltsrv.sh +if HAVE_SITNL +test_scripts += t_net.sh +endif TESTS_ENVIRONMENT = top_srcdir="$(top_srcdir)" TESTS = $(test_scripts) diff --git a/tests/t_net.sh b/tests/t_net.sh index 0be5bb42..1940ec92 100755 --- a/tests/t_net.sh +++ b/tests/t_net.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash IFACE="dummy0" UNIT_TEST="./unit_tests/openvpn/networking_testdriver" @@ -74,6 +74,7 @@ run_test() ## execution starts here +# t_client.rc required only for RUN_SUDO definition if [ -r "${top_builddir}"/t_client.rc ]; then . "${top_builddir}"/t_client.rc elif [ -r "${srcdir}"/t_client.rc ]; then diff --git a/tests/unit_tests/openvpn/Makefile.am b/tests/unit_tests/openvpn/Makefile.am index c6da91a8..e61c57c4 100644 --- a/tests/unit_tests/openvpn/Makefile.am +++ b/tests/unit_tests/openvpn/Makefile.am @@ -14,7 +14,7 @@ endif TESTS = $(test_binaries) check_PROGRAMS = $(test_binaries) -if TARGET_LINUX +if HAVE_SITNL check_PROGRAMS += networking_testdriver endif -- 2.22.0 _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel