Files
vpp/test/test_mactime.py
Klement Sekera b23ffd7ef2 tests: make tests less make dependent
Implement command line argument parsing instead of passing arguments via
environment variables. Add script for running tests without having to
invoke make. Deprecate running tests via make.

Type: improvement
Change-Id: I2e3054a61a2ae25d460e9be00be7d7705fbf943e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-02-17 18:02:35 +00:00

162 lines
6.0 KiB
Python

#!/usr/bin/env python3
import unittest
from config import config
from framework import VppTestCase, VppTestRunner
from vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath
class TestMactime(VppTestCase):
""" Mactime Unit Test Cases """
@classmethod
def setUpClass(cls):
super(TestMactime, cls).setUpClass()
@classmethod
def tearDownClass(cls):
super(TestMactime, cls).tearDownClass()
def setUp(self):
super(TestMactime, self).setUp()
def tearDown(self):
super(TestMactime, self).tearDown()
def test_mactime_range_unittest(self):
""" Time Range Test """
error = self.vapi.cli("test time-range")
if error:
self.logger.critical(error)
self.assertNotIn('FAILED', error)
@unittest.skipUnless(config.gcov, "part of code coverage tests")
def test_mactime_unittest(self):
""" Mactime Plugin Code Coverage Test """
cmds = ["loopback create",
"mactime enable-disable disable",
"mactime enable-disable loop0",
"mactime enable-disable loop0 disable",
"mactime enable-disable sw_if_index 9999",
"bin mactime_enable_disable loop0",
"bin mactime_enable_disable loop0 disable",
"bin mactime_enable_disable sw_if_index 1",
"set interface state loop0 up",
"clear mactime",
"set ip neighbor loop0 192.168.1.1 00:d0:2d:5e:86:85",
"bin mactime_add_del_range name sallow "
"mac 00:d0:2d:5e:86:85 allow-static del",
"bin mactime_add_del_range name sallow "
"mac 00:d0:2d:5e:86:85 allow-static",
"bin mactime_add_del_range name sallow "
"mac 00:d0:2d:5e:86:85 allow-static del",
"bin mactime_add_del_range name sallow "
"mac 00:d0:2d:5e:86:85 allow-static",
"bin mactime_add_del_range name sblock "
"mac 01:00:5e:7f:ff:fa drop-static",
"bin mactime_add_del_range name ddrop "
"mac c8:bc:c8:5a:ba:f3 drop-range Sun - Sat "
"00:00 - 23:59",
"bin mactime_add_del_range name dallow "
"mac c8:bc:c8:5a:ba:f4 allow-range Sun - Sat "
"00:00 - 23:59",
"bin mactime_add_del_range name multi "
"mac c8:bc:c8:f0:f0:f0 allow-range Sun - Mon "
"00:00 - 23:59 Tue - Sat 00:00 - 23:59",
"bin mactime_add_del_range bogus",
"bin mactime_add_del_range mac 01:00:5e:7f:f0:f0 allow-static",
"bin mactime_add_del_range "
"name tooloooooooooooooooooooooooooooooooooooooooooooooooo"
"nnnnnnnnnnnnnnnnnnnnnnnnnnnng mac 00:00:de:ad:be:ef "
"allow-static",
"packet-generator new {\n"
" name allow\n"
" limit 15\n"
" size 128-128\n"
" interface loop0\n"
" node ethernet-input\n"
" data {\n"
" IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00\n"
" ICMP: db00::1 -> db00::2\n"
" incrementing 30\n"
" }\n",
"}\n",
"packet-generator new {\n"
" name deny\n"
" limit 15\n"
" size 128-128\n"
" interface loop0\n"
" node ethernet-input\n"
" data {\n"
" IP6: 01:00:5e:7f:ff:fa -> 00:0d:ea:d0:00:00\n"
" ICMP: db00::1 -> db00::2\n"
" incrementing 30\n"
" }\n",
"}\n",
"packet-generator new {\n"
" name ddrop\n"
" limit 15\n"
" size 128-128\n"
" interface loop0\n"
" node ethernet-input\n"
" data {\n"
" IP6: c8:bc:c8:5a:ba:f3 -> 00:0d:ea:d0:00:00\n"
" ICMP: db00::1 -> db00::2\n"
" incrementing 30\n"
" }\n",
"}\n",
"packet-generator new {\n"
" name dallow\n"
" limit 15\n"
" size 128-128\n"
" interface loop0\n"
" node ethernet-input\n"
" data {\n"
" IP6: c8:bc:c8:5a:ba:f4 -> 00:0d:ea:d0:00:00\n"
" ICMP: db00::1 -> db00::2\n"
" incrementing 30\n"
" }\n"
"}\n"
"packet-generator new {\n"
" name makeentry\n"
" limit 15\n"
" size 128-128\n"
" interface loop0\n"
" node ethernet-input\n"
" data {\n"
" IP6: c8:bc:c8:5a:b0:0b -> 00:0d:ea:d0:00:00\n"
" ICMP: db00::1 -> db00::2\n"
" incrementing 30\n"
" }\n"
"}\n"
"packet-generator new {\n"
" name tx\n"
" limit 15\n"
" size 128-128\n"
" interface local0\n"
" tx-interface loop0\n"
" node loop0-output\n"
" data {\n"
" hex 0x01005e7ffffa000dead000000800"
"0102030405060708090a0b0c0d0e0f0102030405\n"
" }\n"
"}\n"
"trace add pg-input 2",
"pa en",
"show mactime verbose 2",
"show trace",
"show error"]
for cmd in cmds:
r = self.vapi.cli_return_response(cmd)
if r.retval != 0:
if hasattr(r, 'reply'):
self.logger.info(cmd + " FAIL reply " + r.reply)
else:
self.logger.info(cmd + " FAIL retval " + str(r.retval))
if __name__ == '__main__':
unittest.main(testRunner=VppTestRunner)