tests: improve lcov stats for memory_api.c
[vpp.git] / test / test_vlib.py
index 33dc602..8bc5f57 100644 (file)
@@ -1,8 +1,11 @@
 #!/usr/bin/env python3
 
 import unittest
-
+import pexpect
+import time
+import signal
 from framework import VppTestCase, VppTestRunner, running_extended_tests
+from framework import running_gcov_tests
 from vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath
 
 
@@ -24,8 +27,7 @@ class TestVlib(VppTestCase):
     def tearDown(self):
         super(TestVlib, self).tearDown()
 
-    # @unittest.skipUnless(running_extended_tests, "part of extended tests")
-
+    @unittest.skipUnless(running_gcov_tests, "part of code coverage tests")
     def test_vlib_main_unittest(self):
         """ Vlib main.c Code Coverage Test """
 
@@ -67,6 +69,7 @@ class TestVlib(VppTestCase):
                 else:
                     self.logger.info(cmd + " FAIL retval " + str(r.retval))
 
+    @unittest.skipUnless(running_gcov_tests, "part of code coverage tests")
     def test_vlib_node_cli_unittest(self):
         """ Vlib node_cli.c Code Coverage Test """
 
@@ -111,6 +114,7 @@ class TestVlib(VppTestCase):
                 else:
                     self.logger.info(cmd + " FAIL retval " + str(r.retval))
 
+    @unittest.skipUnless(running_gcov_tests, "part of code coverage tests")
     def test_vlib_buffer_c_unittest(self):
         """ Vlib buffer.c Code Coverage Test """
 
@@ -166,6 +170,7 @@ class TestVlib(VppTestCase):
                 else:
                     self.logger.info(cmd + " FAIL retval " + str(r.retval))
 
+    @unittest.skipUnless(running_gcov_tests, "part of code coverage tests")
     def test_vlib_format_unittest(self):
         """ Vlib format.c Code Coverage Test """
 
@@ -183,5 +188,21 @@ class TestVlib(VppTestCase):
                 else:
                     self.logger.info(cmd + " FAIL retval " + str(r.retval))
 
+    @unittest.skipUnless(running_gcov_tests, "part of code coverage tests")
+    def test_vlib_main_unittest(self):
+        """ Private Binary API Segment Test (takes 70 seconds) """
+
+        vat_path = self.vpp_bin + '_api_test'
+        vat = pexpect.spawn(vat_path, ['socket-name', self.api_sock])
+        vat.expect("vat# ", timeout=10)
+        vat.sendline('sock_init_shm')
+        vat.expect("vat# ", timeout=10)
+        vat.sendline('sh api cli')
+        vat.kill(signal.SIGKILL)
+        vat.wait()
+        self.logger.info("vat terminated, 70 second wait for the Reaper")
+        time.sleep(70)
+        self.logger.info("Reaper should be complete...")
+
 if __name__ == '__main__':
     unittest.main(testRunner=VppTestRunner)