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 <
blo@iol.unh.edu>
---
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