diff options
Diffstat (limited to 'test/test_bihash.py')
-rw-r--r-- | test/test_bihash.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/test/test_bihash.py b/test/test_bihash.py new file mode 100644 index 00000000000..2949d66750d --- /dev/null +++ b/test/test_bihash.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +import unittest + +from framework import VppTestCase, VppTestRunner, running_gcov_tests +from vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath + + +class TestBihash(VppTestCase): + """ Bihash Test Cases """ + + @classmethod + def setUpClass(cls): + # increase vapi timeout, to avoid spurious "test bihash ..." + # failures reported on aarch64 w/ test-debug + cls.vapi_response_timeout = 20 + super(TestBihash, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestBihash, cls).tearDownClass() + + def setUp(self): + super(TestBihash, self).setUp() + + def tearDown(self): + super(TestBihash, self).tearDown() + + def test_bihash_unittest(self): + """ Bihash Add/Del Test """ + error = self.vapi.cli("test bihash careful 0 verbose 0") + + if error: + self.logger.critical(error) + self.assertNotIn('failed', error) + + def test_bihash_thread(self): + """ Bihash Thread Test """ + + error = self.vapi.cli("test bihash threads 2 nbuckets" + + " 64000 careful 0 verbose 0") + + if error: + self.logger.critical(error) + self.assertNotIn('failed', error) + + def test_bihash_vec64(self): + """ Bihash vec64 Test """ + + error = self.vapi.cli("test bihash vec64") + + if error: + self.logger.critical(error) + self.assertNotIn('failed', error) + + @unittest.skipUnless(running_gcov_tests, "part of code coverage tests") + def test_bihash_coverage(self): + """ Improve Code Coverage """ + + error = self.vapi.cli("test bihash nitems 10 ncycles 3" + + "search 2 careful 1 verbose 2 non-random-keys") + + if error: + self.logger.critical(error) + self.assertNotIn('failed', error) + + error = self.vapi.cli("test bihash nitems 10 nbuckets 1 ncycles 3" + + "search 2 careful 1 verbose 2 non-random-keys") + if error: + self.logger.critical(error) + self.assertNotIn('failed', error) + +if __name__ == '__main__': + unittest.main(testRunner=VppTestRunner) |