5 from framework import VppTestCase, VppTestRunner, running_extended_tests
6 from vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath
9 class TestVlib(VppTestCase):
10 """ Vlib Unit Test Cases """
11 worker_config = "workers 1"
15 super(TestVlib, cls).setUpClass()
18 def tearDownClass(cls):
19 super(TestVlib, cls).tearDownClass()
22 super(TestVlib, self).setUp()
25 super(TestVlib, self).tearDown()
27 # @unittest.skipUnless(running_extended_tests, "part of extended tests")
29 def test_vlib_main_unittest(self):
30 """ Vlib main.c Code Coverage Test """
32 cmds = ["loopback create",
33 "packet-generator new {\n"
38 " node ethernet-input\n"
40 " IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00\n"
41 " ICMP: db00::1 -> db00::2\n"
45 "elog trace dispatch",
48 "event-logger resize 102400",
49 "event-logger restart",
50 "pcap dispatch trace on max 100 buffer-trace pg-input 15",
51 "set pmc instructions-per-clock",
53 "show event-log 100 all",
56 "pcap dispatch trace",
57 "pcap dispatch trace status",
58 "pcap dispatch trace off",
59 "show vlib frame-allocation",
63 r = self.vapi.cli_return_response(cmd)
65 if hasattr(r, 'reply'):
66 self.logger.info(cmd + " FAIL reply " + r.reply)
68 self.logger.info(cmd + " FAIL retval " + str(r.retval))
70 def test_vlib_node_cli_unittest(self):
71 """ Vlib node_cli.c Code Coverage Test """
73 cmds = ["loopback create",
74 "packet-generator new {\n"
79 " node ethernet-input\n"
81 " IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00\n"
82 " ICMP: db00::1 -> db00::2\n"
87 "show vlib graph ethernet-input",
89 "show vlib graphviz graphviz.dot",
91 "show runtime ethernet-input",
92 "show runtime brief verbose max summary",
95 "show node ethernet-input",
98 "set node function no-such-node",
99 "set node function cdp-input default",
100 "set node function ethernet-input default",
101 "set node function ethernet-input bozo",
102 "set node function ethernet-input",
107 r = self.vapi.cli_return_response(cmd)
109 if hasattr(r, 'reply'):
110 self.logger.info(cmd + " FAIL reply " + r.reply)
112 self.logger.info(cmd + " FAIL retval " + str(r.retval))
114 def test_vlib_buffer_c_unittest(self):
115 """ Vlib buffer.c Code Coverage Test """
117 cmds = ["loopback create",
118 "packet-generator new {\n"
123 " node ethernet-input\n"
125 " IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00\n"
126 " ICMP: db00::1 -> db00::2\n"
132 "elog trace api cli barrier",
134 "show interface bogus",
135 "elog trace disable api cli barrier",
136 "elog trace circuit-node ethernet-input",
137 "elog trace circuit-node ethernet-input disable",
141 "show memory api-segment stats-segment main-heap verbose",
142 "leak-check { show memory }",
144 "memory-trace main-heap",
145 "memory-trace main-heap api-segment stats-segment",
146 "leak-check { show version }",
148 "comment { show version }",
149 "uncomment { show version }",
150 "show memory main-heap",
153 "test heap-validate",
154 "memory-trace main-heap disable",
162 r = self.vapi.cli_return_response(cmd)
164 if hasattr(r, 'reply'):
165 self.logger.info(cmd + " FAIL reply " + r.reply)
167 self.logger.info(cmd + " FAIL retval " + str(r.retval))
169 def test_vlib_format_unittest(self):
170 """ Vlib format.c Code Coverage Test """
172 cmds = ["loopback create",
173 "classify filter pcap mask l2 proto ipv6 match l2 proto 86dd",
174 "classify filter del",
179 r = self.vapi.cli_return_response(cmd)
181 if hasattr(r, 'reply'):
182 self.logger.info(cmd + " FAIL reply " + r.reply)
184 self.logger.info(cmd + " FAIL retval " + str(r.retval))
186 if __name__ == '__main__':
187 unittest.main(testRunner=VppTestRunner)