7 from framework import VppTestCase, running_extended_tests, VppTestRunner, Worker
10 @unittest.skipUnless(running_extended_tests, "part of extended tests")
11 class VOMTestCase(VppTestCase):
12 """VPP Object Model Test"""
16 super(VOMTestCase, cls).setUpClass()
19 def tearDownClass(cls):
20 super(VOMTestCase, cls).tearDownClass()
22 def test_vom_cpp(self):
23 """run C++ VOM tests"""
25 built_root = os.getenv(var, None)
26 self.assertIsNotNone(built_root, "Environment variable `%s' not set" % var)
27 executable = "%s/vom_test/vom_test" % built_root
29 [executable, "vpp object model", self.get_api_segment_prefix()], self.logger
34 self.logger.info("Worker result is `%s'" % worker.result)
36 if worker.result is None:
39 self.logger.error("Timeout! Worker did not finish in %ss" % timeout)
40 os.killpg(os.getpgid(worker.process.pid), signal.SIGTERM)
43 raise Exception("Couldn't kill worker-spawned process")
45 raise Exception("Timeout! Worker did not finish in %ss" % timeout)
46 self.assert_equal(worker.result, 0, "Binary test return code")
49 if __name__ == "__main__":
50 unittest.main(testRunner=VppTestRunner)