summaryrefslogtreecommitdiffstats
path: root/test/test_vcl.py
diff options
context:
space:
mode:
authorKlement Sekera <ksekera@cisco.com>2021-05-31 16:08:53 +0200
committerAndrew Yourtchenko <ayourtch@gmail.com>2022-02-17 18:02:35 +0000
commitb23ffd7ef216463c35b75c831e6a27e58971f4ec (patch)
tree84983bd698b2b3da6c6278e870ef978f69dbda43 /test/test_vcl.py
parent8ccc6b350703d3390633636d2b1c2f578f37cb21 (diff)
tests: make tests less make dependent
Implement command line argument parsing instead of passing arguments via environment variables. Add script for running tests without having to invoke make. Deprecate running tests via make. Type: improvement Change-Id: I2e3054a61a2ae25d460e9be00be7d7705fbf943e Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'test/test_vcl.py')
-rw-r--r--test/test_vcl.py47
1 files changed, 20 insertions, 27 deletions
diff --git a/test/test_vcl.py b/test/test_vcl.py
index e40e416ebfa..3875114c3b2 100644
--- a/test/test_vcl.py
+++ b/test/test_vcl.py
@@ -6,8 +6,8 @@ import os
import subprocess
import signal
import glob
-from framework import VppTestCase, VppTestRunner, running_extended_tests, \
- Worker
+from config import config
+from framework import VppTestCase, VppTestRunner, Worker
from vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath, FibPathProto
iperf3 = '/usr/bin/iperf3'
@@ -32,12 +32,10 @@ class VCLAppWorker(Worker):
class LibraryNotFound(Exception):
pass
- def __init__(self, build_dir, appname, executable_args, logger, env=None,
+ def __init__(self, appname, executable_args, logger, env=None,
role=None, *args, **kwargs):
self.role = role
- vpp_install_path = os.getenv('VPP_INSTALL_PATH')
-
- vcl_ldpreload_glob = "{}/**/{}".format(vpp_install_path, self.libname)
+ vcl_ldpreload_glob = f"{config.vpp_install_dir}/**/{self.libname}"
vcl_ldpreload_so = glob.glob(vcl_ldpreload_glob, recursive=True)
if len(vcl_ldpreload_so) < 1:
@@ -52,10 +50,10 @@ class VCLAppWorker(Worker):
app = appname
env.update({'LD_PRELOAD': vcl_ldpreload_so})
elif "sock" in appname:
- app = "%s/bin/%s" % (build_dir, appname)
+ app = f"{config.vpp_build_dir}/vpp/bin/{appname}"
env.update({'LD_PRELOAD': vcl_ldpreload_so})
else:
- app = "%s/bin/%s" % (build_dir, appname)
+ app = f"{config.vpp_build_dir}/vpp/bin/{appname}"
self.args = [app] + executable_args
super(VCLAppWorker, self).__init__(self.args, logger, env,
*args, **kwargs)
@@ -77,11 +75,7 @@ class VCLTestCase(VppTestCase):
super(VCLTestCase, cls).tearDownClass()
def setUp(self):
- var = "VPP_BUILD_DIR"
- self.build_dir = os.getenv(var, None)
- if self.build_dir is None:
- raise EnvironmentError("Environment variable `%s' not set" % var)
- self.vppDebug = 'vpp_debug' in self.build_dir
+ self.vppDebug = 'vpp_debug' in config.vpp_install_dir
self.server_addr = "127.0.0.1"
self.server_port = "22000"
self.server_args = [self.server_port]
@@ -132,13 +126,13 @@ class VCLTestCase(VppTestCase):
self.vcl_app_env = {'VCL_APP_SCOPE_LOCAL': "true"}
self.update_vcl_app_env("", "", self.sapi_server_sock)
- worker_server = VCLAppWorker(self.build_dir, server_app, server_args,
+ worker_server = VCLAppWorker(server_app, server_args,
self.logger, self.vcl_app_env, "server")
worker_server.start()
self.sleep(self.pre_test_sleep)
self.update_vcl_app_env("", "", self.sapi_client_sock)
- worker_client = VCLAppWorker(self.build_dir, client_app, client_args,
+ worker_client = VCLAppWorker(client_app, client_args,
self.logger, self.vcl_app_env, "client")
worker_client.start()
worker_client.join(self.timeout)
@@ -240,13 +234,13 @@ class VCLTestCase(VppTestCase):
self.vcl_app_env = {'VCL_APP_SCOPE_GLOBAL': "true"}
self.update_vcl_app_env("1", "1234", self.sapi_server_sock)
- worker_server = VCLAppWorker(self.build_dir, server_app, server_args,
+ worker_server = VCLAppWorker(server_app, server_args,
self.logger, self.vcl_app_env, "server")
worker_server.start()
self.sleep(self.pre_test_sleep)
self.update_vcl_app_env("2", "5678", self.sapi_client_sock)
- worker_client = VCLAppWorker(self.build_dir, client_app, client_args,
+ worker_client = VCLAppWorker(client_app, client_args,
self.logger, self.vcl_app_env, "client")
worker_client.start()
worker_client.join(self.timeout)
@@ -328,14 +322,13 @@ class LDPCutThruTestCase(VCLTestCase):
self.logger.debug(self.vapi.cli("show session verbose 2"))
self.logger.debug(self.vapi.cli("show app mq"))
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
def test_ldp_cut_thru_echo(self):
""" run LDP cut thru echo test """
self.cut_thru_test("sock_test_server", self.server_args,
"sock_test_client", self.client_echo_test_args)
- @unittest.skipUnless(_have_iperf3, "'%s' not found, Skipping.")
def test_ldp_cut_thru_iperf3(self):
""" run LDP cut thru iperf3 test """
@@ -343,7 +336,7 @@ class LDPCutThruTestCase(VCLTestCase):
self.cut_thru_test(iperf3, self.server_iperf3_args,
iperf3, self.client_iperf3_args)
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
def test_ldp_cut_thru_uni_dir_nsock(self):
""" run LDP cut thru uni-directional (multiple sockets) test """
@@ -352,7 +345,7 @@ class LDPCutThruTestCase(VCLTestCase):
"sock_test_client",
self.client_uni_dir_nsock_test_args)
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
@unittest.skip("sock test apps need to be improved")
def test_ldp_cut_thru_bi_dir_nsock(self):
""" run LDP cut thru bi-directional (multiple sockets) test """
@@ -569,7 +562,7 @@ class VCLThruHostStackQUIC(VCLTestCase):
self.loop0.local_ip4,
self.server_port]
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
def test_vcl_thru_host_stack_quic_uni_dir(self):
""" run VCL thru host stack uni-directional QUIC test """
@@ -867,6 +860,7 @@ class LDPIpv6CutThruTestCase(VCLTestCase):
super(LDPIpv6CutThruTestCase, self).tearDown()
self.cut_thru_tear_down()
+ @unittest.skipUnless(config.extended, "part of extended tests")
def test_ldp_ipv6_cut_thru_echo(self):
""" run LDP IPv6 cut thru echo test """
@@ -876,7 +870,6 @@ class LDPIpv6CutThruTestCase(VCLTestCase):
self.client_ipv6_echo_test_args)
@unittest.skipUnless(_have_iperf3, "'%s' not found, Skipping.")
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
def test_ldp_ipv6_cut_thru_iperf3(self):
""" run LDP IPv6 cut thru iperf3 test """
@@ -884,7 +877,7 @@ class LDPIpv6CutThruTestCase(VCLTestCase):
self.cut_thru_test(iperf3, self.server_ipv6_iperf3_args,
iperf3, self.client_ipv6_iperf3_args)
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
def test_ldp_ipv6_cut_thru_uni_dir_nsock(self):
""" run LDP IPv6 cut thru uni-directional (multiple sockets) test """
@@ -893,7 +886,7 @@ class LDPIpv6CutThruTestCase(VCLTestCase):
"sock_test_client",
self.client_ipv6_uni_dir_nsock_test_args)
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
@unittest.skip("sock test apps need to be improved")
def test_ldp_ipv6_cut_thru_bi_dir_nsock(self):
""" run LDP IPv6 cut thru bi-directional (multiple sockets) test """
@@ -955,7 +948,7 @@ class VCLIpv6CutThruTestCase(VCLTestCase):
"vcl_test_client",
self.client_ipv6_echo_test_args)
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
def test_vcl_ipv6_cut_thru_uni_dir_nsock(self):
""" run VCL IPv6 cut thru uni-directional (multiple sockets) test """
@@ -964,7 +957,7 @@ class VCLIpv6CutThruTestCase(VCLTestCase):
"vcl_test_client",
self.client_ipv6_uni_dir_nsock_test_args)
- @unittest.skipUnless(running_extended_tests, "part of extended tests")
+ @unittest.skipUnless(config.extended, "part of extended tests")
def test_vcl_ipv6_cut_thru_bi_dir_nsock(self):
""" run VCL IPv6 cut thru bi-directional (multiple sockets) test """