tests: Add platform handling for FreeBSD
[vpp.git] / test / asf / test_bihash.py
1 #!/usr/bin/env python3
2
3 import unittest
4
5 from config import config
6 from asfframework import VppAsfTestCase, VppTestRunner
7
8
9 class TestBihash(VppAsfTestCase):
10     """Bihash Test Cases"""
11
12     @classmethod
13     def setUpClass(cls):
14         # increase vapi timeout, to avoid spurious "test bihash ..."
15         # failures reported on aarch64 w/ test-debug
16         cls.vapi_response_timeout = 20
17         super(TestBihash, cls).setUpClass()
18
19     @classmethod
20     def tearDownClass(cls):
21         super(TestBihash, cls).tearDownClass()
22
23     def setUp(self):
24         super(TestBihash, self).setUp()
25
26     def tearDown(self):
27         super(TestBihash, self).tearDown()
28
29     def test_bihash_unittest(self):
30         """Bihash Add/Del Test"""
31         error = self.vapi.cli("test bihash careful 0 verbose 0")
32
33         if error:
34             self.logger.critical(error)
35             self.assertNotIn("failed", error)
36
37     def test_bihash_thread(self):
38         """Bihash Thread Test"""
39
40         error = self.vapi.cli(
41             "test bihash threads 2 nbuckets" + " 64000 careful 0 verbose 0"
42         )
43
44         if error:
45             self.logger.critical(error)
46             self.assertNotIn("failed", error)
47
48     def test_bihash_vec64(self):
49         """Bihash vec64 Test"""
50
51         error = self.vapi.cli("test bihash vec64")
52
53         if error:
54             self.logger.critical(error)
55             self.assertNotIn("failed", error)
56
57     @unittest.skipUnless(config.gcov, "part of code coverage tests")
58     def test_bihash_coverage(self):
59         """Improve Code Coverage"""
60
61         error = self.vapi.cli(
62             "test bihash nitems 10 ncycles 3"
63             + "search 2 careful 1 verbose 2 non-random-keys"
64         )
65
66         if error:
67             self.logger.critical(error)
68             self.assertNotIn("failed", error)
69
70         error = self.vapi.cli(
71             "test bihash nitems 10 nbuckets 1 ncycles 3"
72             + "search 2 careful 1 verbose 2 non-random-keys"
73         )
74         if error:
75             self.logger.critical(error)
76             self.assertNotIn("failed", error)
77
78
79 if __name__ == "__main__":
80     unittest.main(testRunner=VppTestRunner)