From 85b0f791262b68ff98bef76386296abfb110dfbb Mon Sep 17 00:00:00 2001 From: Dave Wallace Date: Mon, 16 Nov 2020 17:13:14 -0500 Subject: tests: move cli tests to src/vlib/test - Refactor make test code to be co-located with the vpp feature source code Type: test Signed-off-by: Dave Wallace Change-Id: Ic27fb8c476cfd95879dec645c3c0cd6db341ee00 --- src/vlib/test/test_cli.py | 89 +++++++++++++++++++++++++++++++++++++++++++++++ test/test_cli.py | 89 ----------------------------------------------- 2 files changed, 89 insertions(+), 89 deletions(-) create mode 100644 src/vlib/test/test_cli.py delete mode 100644 test/test_cli.py diff --git a/src/vlib/test/test_cli.py b/src/vlib/test/test_cli.py new file mode 100644 index 00000000000..a1ffbac81d8 --- /dev/null +++ b/src/vlib/test/test_cli.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 +"""CLI functional tests""" + +import datetime +import time +import unittest + +from vpp_papi import vpp_transport_shmem + +from framework import VppTestCase, VppTestRunner + + +class TestCLI(VppTestCase): + """ CLI Test Case """ + maxDiff = None + + @classmethod + def setUpClass(cls): + # using the framework default + cls.vapi_response_timeout = 5 + super(TestCLI, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestCLI, cls).tearDownClass() + + def setUp(self): + super(TestCLI, self).setUp() + + def tearDown(self): + super(TestCLI, self).tearDown() + + def test_cli_retval(self): + """ CLI inband retval """ + rv = self.vapi.papi.cli_inband(cmd='this command does not exist') + self.assertNotEqual(rv.retval, 0) + + rv = self.vapi.papi.cli_inband(cmd='show version') + self.assertEqual(rv.retval, 0) + + def test_long_cli_delay(self): + """ Test that VppApiClient raises VppTransportShmemIOError if timeout.""" # noqa + with self.assertRaises( + vpp_transport_shmem.VppTransportShmemIOError) as ctx: + rv = self.vapi.papi.cli_inband(cmd='wait 10') + + def test_long_cli_delay_override(self): + """ Test per-command _timeout option.""" # noqa + rv = self.vapi.papi.cli_inband(cmd='wait 10', _timeout=15) + self.assertEqual(rv.retval, 0) + + +class TestCLIExtendedVapiTimeout(VppTestCase): + maxDiff = None + + @classmethod + def setUpClass(cls): + cls.vapi_response_timeout = 15 + cls.__doc__ = " CLI Test Case w/ Extended (%ssec) Vapi Timeout " \ + % cls.vapi_response_timeout + super(TestCLIExtendedVapiTimeout, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestCLIExtendedVapiTimeout, cls).tearDownClass() + + def setUp(self): + super(TestCLIExtendedVapiTimeout, self).setUp() + + def tearDown(self): + super(TestCLIExtendedVapiTimeout, self).tearDown() + + def test_long_cli_delay(self): + """ Test that delayed result returns with extended timeout.""" + wait_secs = self.vapi_response_timeout - 1 + + # get vpp time as float + start = self.vapi.papi.show_vpe_system_time( + _no_type_conversion=True).vpe_system_time + rv = self.vapi.papi.cli_inband(cmd='wait %s' % wait_secs) + now = self.vapi.papi.show_vpe_system_time( + _no_type_conversion=True).vpe_system_time + + # assume that the overhead of the measurement is not more that .5 sec. + self.assertEqual(round(now - start), wait_secs) + + +if __name__ == '__main__': + unittest.main(testRunner=VppTestRunner) diff --git a/test/test_cli.py b/test/test_cli.py deleted file mode 100644 index a1ffbac81d8..00000000000 --- a/test/test_cli.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python3 -"""CLI functional tests""" - -import datetime -import time -import unittest - -from vpp_papi import vpp_transport_shmem - -from framework import VppTestCase, VppTestRunner - - -class TestCLI(VppTestCase): - """ CLI Test Case """ - maxDiff = None - - @classmethod - def setUpClass(cls): - # using the framework default - cls.vapi_response_timeout = 5 - super(TestCLI, cls).setUpClass() - - @classmethod - def tearDownClass(cls): - super(TestCLI, cls).tearDownClass() - - def setUp(self): - super(TestCLI, self).setUp() - - def tearDown(self): - super(TestCLI, self).tearDown() - - def test_cli_retval(self): - """ CLI inband retval """ - rv = self.vapi.papi.cli_inband(cmd='this command does not exist') - self.assertNotEqual(rv.retval, 0) - - rv = self.vapi.papi.cli_inband(cmd='show version') - self.assertEqual(rv.retval, 0) - - def test_long_cli_delay(self): - """ Test that VppApiClient raises VppTransportShmemIOError if timeout.""" # noqa - with self.assertRaises( - vpp_transport_shmem.VppTransportShmemIOError) as ctx: - rv = self.vapi.papi.cli_inband(cmd='wait 10') - - def test_long_cli_delay_override(self): - """ Test per-command _timeout option.""" # noqa - rv = self.vapi.papi.cli_inband(cmd='wait 10', _timeout=15) - self.assertEqual(rv.retval, 0) - - -class TestCLIExtendedVapiTimeout(VppTestCase): - maxDiff = None - - @classmethod - def setUpClass(cls): - cls.vapi_response_timeout = 15 - cls.__doc__ = " CLI Test Case w/ Extended (%ssec) Vapi Timeout " \ - % cls.vapi_response_timeout - super(TestCLIExtendedVapiTimeout, cls).setUpClass() - - @classmethod - def tearDownClass(cls): - super(TestCLIExtendedVapiTimeout, cls).tearDownClass() - - def setUp(self): - super(TestCLIExtendedVapiTimeout, self).setUp() - - def tearDown(self): - super(TestCLIExtendedVapiTimeout, self).tearDown() - - def test_long_cli_delay(self): - """ Test that delayed result returns with extended timeout.""" - wait_secs = self.vapi_response_timeout - 1 - - # get vpp time as float - start = self.vapi.papi.show_vpe_system_time( - _no_type_conversion=True).vpe_system_time - rv = self.vapi.papi.cli_inband(cmd='wait %s' % wait_secs) - now = self.vapi.papi.show_vpe_system_time( - _no_type_conversion=True).vpe_system_time - - # assume that the overhead of the measurement is not more that .5 sec. - self.assertEqual(round(now - start), wait_secs) - - -if __name__ == '__main__': - unittest.main(testRunner=VppTestRunner) -- cgit 1.2.3-korg