-#!/usr/bin/env python
+#!/usr/bin/env python3
""" VAPI test """
import unittest
import os
import signal
-import subprocess
-from threading import Thread
-from log import single_line_delim
-from framework import VppTestCase, running_extended_tests, \
- running_on_centos, VppTestRunner, Worker
+from framework import VppTestCase, VppTestRunner, Worker
-@unittest.skipUnless(running_extended_tests(), "part of extended tests")
class VAPITestCase(VppTestCase):
""" VAPI test """
+ @classmethod
+ def setUpClass(cls):
+ super(VAPITestCase, cls).setUpClass()
+
+ @classmethod
+ def tearDownClass(cls):
+ super(VAPITestCase, cls).tearDownClass()
+
def test_vapi_c(self):
""" run C VAPI tests """
- var = "BR"
- built_root = os.getenv(var, None)
- self.assertIsNotNone(built_root,
+ var = "VPP_BUILD_DIR"
+ build_dir = os.getenv(var, None)
+ self.assertIsNotNone(build_dir,
"Environment variable `%s' not set" % var)
- executable = "%s/vapi_test/vapi_c_test" % built_root
- worker = Worker(
- [executable, "vapi client", self.shm_prefix], self.logger)
+ executable = f"{build_dir}/bin/vapi_c_test"
+ worker = Worker([executable, "vapi client",
+ self.get_api_segment_prefix()], self.logger)
worker.start()
timeout = 60
worker.join(timeout)
os.killpg(os.getpgid(worker.process.pid), signal.SIGTERM)
worker.join()
except:
- raise Exception("Couldn't kill worker-spawned process")
+ self.logger.debug("Couldn't kill worker-spawned process")
+ raise
if error:
raise Exception(
"Timeout! Worker did not finish in %ss" % timeout)
self.assert_equal(worker.result, 0, "Binary test return code")
- @unittest.skipIf(running_on_centos(), "Centos's gcc can't compile our C++")
def test_vapi_cpp(self):
""" run C++ VAPI tests """
- var = "BR"
- built_root = os.getenv(var, None)
- self.assertIsNotNone(built_root,
+ var = "VPP_BUILD_DIR"
+ build_dir = os.getenv(var, None)
+ self.assertIsNotNone(build_dir,
"Environment variable `%s' not set" % var)
- executable = "%s/vapi_test/vapi_cpp_test" % built_root
- worker = Worker(
- [executable, "vapi client", self.shm_prefix], self.logger)
+ executable = f"{build_dir}/bin/vapi_cpp_test"
+ worker = Worker([executable, "vapi client",
+ self.get_api_segment_prefix()], self.logger)
worker.start()
timeout = 120
worker.join(timeout)