This is a simple test meant to check whether or not the link status changes when we set the link down/up. Signed-off-by: Brandon Lo --- test_plans/link_status_test_plan.rst | 48 +++++++++++++++++++++ tests/TestSuite_link_status.py | 63 ++++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 test_plans/link_status_test_plan.rst create mode 100644 tests/TestSuite_link_status.py diff --git a/test_plans/link_status_test_plan.rst b/test_plans/link_status_test_plan.rst new file mode 100644 index 0000000..2d92a68 --- /dev/null +++ b/test_plans/link_status_test_plan.rst @@ -0,0 +1,48 @@ +============================================= +Link Status Check +============================================= + +This check will use testpmd to test whether or not a link can be set as +down/up and appear as the set status. + + +Prerequisites +============= + +Compile DPDK and testpmd. Be able to have the testpmd run. + +Test Case: set links as down +========================================== + +Run testpmd in interactive mode :: + + $ ./dpdk-testpmd -- -i + +This can be run with other arguments as well, depending on your setup. + +Run this command in testpmd :: + + testpmd> set link-down port 0 + +Verify the output matches with the port being down :: + + testpmd> show port summary 0 + + +Test Case: set links as up +=========================================== + +Run testpmd in interactive mode :: + + $ ./dpdk-testpmd -- -i + +This can be run with other arguments as well, depending on your setup. + +Run this command in testpmd :: + + testpmd> set link-up port 0 + +Verify the output matches with the port being up :: + + testpmd> show port summary 0 + diff --git a/tests/TestSuite_link_status.py b/tests/TestSuite_link_status.py new file mode 100644 index 0000000..0172000 --- /dev/null +++ b/tests/TestSuite_link_status.py @@ -0,0 +1,63 @@ +""" +DPDK Test suite. +Testing link status in testpmd +""" + +import utils +import time +from test_case import TestCase +from pmd_output import PmdOutput + +class TestLinkStatus(TestCase): + + def set_up_all(self): + """ + Run at the start of each test suite. + """ + self.dut.build_install_dpdk(self.target) + self.pmdout = PmdOutput(self.dut) + self.pmdout.start_testpmd() + self.dut_ports = self.dut.get_ports() + + def set_up(self): + """ + Run before each test case. + Nothing to do. + """ + pass + + def test_link_down(self): + """ + Run set link-down on ports and check if they are down in summary. + """ + for port in self.dut_ports: + self.dut.send_command('set link-down port {}'.format(port)) + time.sleep(5) + self.dut.send_command('show port summary {}'.format(port)) + self.verify('down' in self.dut.session.history[-1]['output'], + 'Link down for port {}'.format(port)) + + def test_link_up(self): + """ + Run set link-up on ports and check if they are up in summary. + """ + for port in self.dut_ports: + self.dut.send_command('set link-up port {}'.format(port)) + time.sleep(5) + self.dut.send_command('show port summary {}'.format(port)) + self.verify('up' in self.dut.session.history[-1]['output'], + 'Link up for port {}'.format(port)) + + def tear_down(self): + """ + Run after each test case. + Nothing to do. + """ + pass + + def tear_down_all(self): + """ + Quit out of testpmd + """ + self.dut.send_expect("quit", "# ", 30) + -- 2.17.1