aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorStanislav Zaikin <stanislav.zaikin@46labs.com>2024-03-06 19:48:30 +0100
committerOle Tr�an <otroan@employees.org>2024-03-18 17:30:07 +0000
commitdc4d21e9ce78a77caa7abfe997021cd735863e0f (patch)
tree17b6636f29b256020eff224cfe7a2b76ad77726e /test
parent3eb6cbec50a5cbe4c3465d60ba6aea7bf2845cd1 (diff)
vapi: uds transport support
introduce ability to connect over unix socket instead of shared memory Type: improvement Change-Id: Id9042c74e33ad4e418896c4d7ae48bb9106195c9 Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com> Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/asf/test_vapi.py29
1 files changed, 20 insertions, 9 deletions
diff --git a/test/asf/test_vapi.py b/test/asf/test_vapi.py
index 10d9411dbb6..a5635ff3567 100644
--- a/test/asf/test_vapi.py
+++ b/test/asf/test_vapi.py
@@ -19,12 +19,9 @@ class VAPITestCase(VppAsfTestCase):
def tearDownClass(cls):
super(VAPITestCase, cls).tearDownClass()
- def test_vapi_c(self):
- """run C VAPI tests"""
+ def run_vapi_c(self, path, transport):
executable = f"{config.vpp_build_dir}/vpp/bin/vapi_c_test"
- worker = Worker(
- [executable, "vapi client", self.get_api_segment_prefix()], self.logger
- )
+ worker = Worker([executable, "vapi client", path, transport], self.logger)
worker.start()
timeout = 60
worker.join(timeout)
@@ -43,12 +40,18 @@ class VAPITestCase(VppAsfTestCase):
raise Exception("Timeout! Worker did not finish in %ss" % timeout)
self.assert_equal(worker.result, 0, "Binary test return code")
- def test_vapi_cpp(self):
+ def test_vapi_c_shm(self):
+ """run C VAPI tests (over shared memory)"""
+ self.run_vapi_c(self.get_api_segment_prefix(), "shm")
+
+ def test_vapi_c_uds(self):
+ """run C VAPI tests (over unix domain socket)"""
+ self.run_vapi_c(self.get_api_sock_path(), "uds")
+
+ def run_vapi_cpp(self, path, transport):
"""run C++ VAPI tests"""
executable = f"{config.vpp_build_dir}/vpp/bin/vapi_cpp_test"
- worker = Worker(
- [executable, "vapi client", self.get_api_segment_prefix()], self.logger
- )
+ worker = Worker([executable, "vapi client", path, transport], self.logger)
worker.start()
timeout = 120
worker.join(timeout)
@@ -66,6 +69,14 @@ class VAPITestCase(VppAsfTestCase):
raise Exception("Timeout! Worker did not finish in %ss" % timeout)
self.assert_equal(worker.result, 0, "Binary test return code")
+ def test_vapi_cpp_shm(self):
+ """run C++ VAPI tests (over shared memory)"""
+ self.run_vapi_cpp(self.get_api_segment_prefix(), "shm")
+
+ def test_vapi_cpp_uds(self):
+ """run C++ VAPI tests (over unix domain socket)"""
+ self.run_vapi_cpp(self.get_api_sock_path(), "uds")
+
if __name__ == "__main__":
unittest.main(testRunner=VppTestRunner)