[Openvpn-devel,1/2] t_net.sh: fixes for the networking test script

Message ID 20190617124110.30907-1-a@unstable.cc
State Changes Requested
Headers show
Series [Openvpn-devel,1/2] t_net.sh: fixes for the networking test script | expand

Commit Message

Antonio Quartulli June 17, 2019, 2:41 a.m. UTC
From: Antonio Quartulli <antonio@openvpn.net>

1) The test_networking driver needs the cmocka library at runtime,
therefore LD_LIBRARY_PATH has to be properly configured.
The running framework takes care of that for the other unit-tests, but
since we run the networking driver from within t_net.sh, we have to be
sure that we also set LD_LIBRARY_PATH accordingly.

2) Building the networking unit-test when SITNL is not enabled does not
make much sense right now.
Make compilation dependent on having SITNL configured.

3) Remove some no-op mock_msg function calls.

4) Remove obsolete comment and declarations

Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
---
 tests/t_net.sh                             |  8 ++------
 tests/unit_tests/openvpn/Makefile.am       |  2 ++
 tests/unit_tests/openvpn/test_networking.c | 16 ----------------
 3 files changed, 4 insertions(+), 22 deletions(-)

Comments

Gert Doering June 17, 2019, 7:46 a.m. UTC | #1
Hi,

On Mon, Jun 17, 2019 at 02:41:09PM +0200, Antonio Quartulli wrote:
> +UNIT_TEST="LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../vendor/dist/lib/ ./unit_tests/openvpn/networking_testdriver"

While this *looks* promising, it fails the 

if [ ! -x "$UNIT_TEST" ]; then
    echo "no test_networking driver available. SKIPPING TEST." >&2
    exit 77
fi

test later on.  Well, it quiets the buildbot failures, but a test that is
always skipped cannot be the goal - so, NAK on this, sorry.

gert
Antonio Quartulli June 17, 2019, 8:01 a.m. UTC | #2
Hi,

On 17/06/2019 19:46, Gert Doering wrote:
> Hi,
> 
> On Mon, Jun 17, 2019 at 02:41:09PM +0200, Antonio Quartulli wrote:
>> +UNIT_TEST="LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../vendor/dist/lib/ ./unit_tests/openvpn/networking_testdriver"
> 
> While this *looks* promising, it fails the 
> 
> if [ ! -x "$UNIT_TEST" ]; then
>     echo "no test_networking driver available. SKIPPING TEST." >&2
>     exit 77
> fi
> 
> test later on.  Well, it quiets the buildbot failures, but a test that is
> always skipped cannot be the goal - so, NAK on this, sorry.
> 

Absolutely right. In the jungle of tests I must have missed that.
Will send v2 of this.

Regards,

> gert
>

Patch

diff --git a/tests/t_net.sh b/tests/t_net.sh
index 70e8517d..c6a7d5c8 100755
--- a/tests/t_net.sh
+++ b/tests/t_net.sh
@@ -1,12 +1,9 @@ 
 #!/usr/bin/env bash
 
 IFACE="dummy0"
-UNIT_TEST="./unit_tests/openvpn/networking_testdriver"
+UNIT_TEST="LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../vendor/dist/lib/ ./unit_tests/openvpn/networking_testdriver"
 MAX_TEST=${1:-7}
 
-KILL_EXEC=`which kill`
-CC=${CC:-gcc}
-
 srcdir="${srcdir:-.}"
 top_builddir="${top_builddir:-..}"
 openvpn="${top_builddir}/src/openvpn/openvpn"
@@ -99,8 +96,7 @@  fi
 # Ensure PREFER_KSU is in a known state
 PREFER_KSU="${PREFER_KSU:-0}"
 
-# make sure we have permissions to run ifconfig/route from OpenVPN
-# can't use "id -u" here - doesn't work on Solaris
+# make sure we have permissions to run the networking unit-test
 ID=`id`
 if expr "$ID" : "uid=0" >/dev/null
 then :
diff --git a/tests/unit_tests/openvpn/Makefile.am b/tests/unit_tests/openvpn/Makefile.am
index e61c57c4..d015b293 100644
--- a/tests/unit_tests/openvpn/Makefile.am
+++ b/tests/unit_tests/openvpn/Makefile.am
@@ -78,6 +78,7 @@  tls_crypt_testdriver_SOURCES = test_tls_crypt.c mock_msg.c mock_msg.h \
 	$(openvpn_srcdir)/platform.c \
 	$(openvpn_srcdir)/run_command.c
 
+if HAVE_SITNL
 networking_testdriver_CFLAGS = @TEST_CFLAGS@ \
 	-I$(openvpn_includedir) -I$(compat_srcdir) -I$(openvpn_srcdir) \
 	$(OPTIONAL_CRYPTO_CFLAGS)
@@ -92,3 +93,4 @@  networking_testdriver_SOURCES = test_networking.c mock_msg.c \
 	$(openvpn_srcdir)/otime.c \
 	$(openvpn_srcdir)/packet_id.c \
 	$(openvpn_srcdir)/platform.c
+endif
diff --git a/tests/unit_tests/openvpn/test_networking.c b/tests/unit_tests/openvpn/test_networking.c
index 6c50da92..22d8babe 100644
--- a/tests/unit_tests/openvpn/test_networking.c
+++ b/tests/unit_tests/openvpn/test_networking.c
@@ -2,13 +2,9 @@ 
 #include "syshead.h"
 #include "networking.h"
 
-#include "mock_msg.h"
-
 
 static char *iface = "dummy0";
 
-#ifdef ENABLE_SITNL
-
 static int
 net__iface_up(bool up)
 {
@@ -177,8 +173,6 @@  main(int argc, char *argv[])
 {
     int test;
 
-    mock_set_debug_level(10);
-
     if (argc < 2)
     {
         usage(argv[0]);
@@ -223,13 +217,3 @@  main(int argc, char *argv[])
     usage(argv[0]);
     return -1;
 }
-
-#else
-
-int
-main(int argc, char *argv[])
-{
-    return 0;
-}
-
-#endif /* ENABLE_SITNL */