unit_tests.py
""" DPDK Test suite. This TestSuite runs the unit tests included in DPDK for Random Early Detection, Metering and Scheduling QoS features. """ from test_case import TestCase # # # Test class. # class TestUnitTestsQos(TestCase): # # # # Test cases. # def set_up_all(self): """ Run at the start of each test suite. Qos Prerequisites """ pass def set_up(self): """ Run before each test case. """ pass def test_red(self): """ Run RED autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 30) out = self.dut.send_expect("red_autotest", "RTE>>", 180) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") def test_meter(self): """ Run meter autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 30) out = self.dut.send_expect("meter_autotest", "RTE>>", 5) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") def test_sched(self): """ Run sched autotest. """ [arch, machine, env, toolchain] = self.target.split('-') self.verify(arch in ["x86_64" ,"arm64"], "Sched auto_test only support in x86_64 or arm64") self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 30) out = self.dut.send_expect("sched_autotest", "RTE>>", 5) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_tests_cmdline def test_cmdline(self): """ Run cmdline autotests in RTE comand line. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("cmdline_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_tests_ring def test_ring(self): """ Run ring autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("ring_autotest", "RTE>>", 36000) self.verify("Test OK" in out, "Test failed") def test_ring_performance(self): """ Run ring performance autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c e" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("ring_perf_autotest", "RTE>>", 210) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_tests_rimgpmd def test_ring_pmd(self): """ Run Inter-VM share memory test. """ dev_str = "--vdev=net_ring0 --vdev=net_ring1" self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 10) out = self.dut.send_expect("ring_pmd_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Default no eth_ring devices Test failed") self.dut.send_expect("./%s/app/test -n 1 -c f %s" % (self.target, dev_str), "R.*T.*E.*>.*>", 10) out = self.dut.send_expect("ring_pmd_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Two eth_ring devices test failed") #unit_tests_timer def test_timer(self): """ Run timer autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("timer_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") def test_timer_perf(self): """ Run timer autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("timer_perf_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_test_power def test_power(self): """ Run power autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("power_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") def test_power_acpi(self): """ Run power acpi cpu frequency autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("power_acpi_cpufreq_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_tests_mempool def test_mempool(self): """ Run memory pool autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mempool_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") def test_mempool_perf(self): """ Run memory pool performance autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c e" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mempool_perf_autotest", "RTE>>", 1200) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_tests_mbuf def test_mbuf(self): """ Run mbuf autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mbuf_autotest", "RTE>>", 180) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_tests_lpm def test_lpm(self): """ Run lpm for IPv6 autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("lpm_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") def test_lpm_ipv6(self): """ Run lpm for IPv6 autotest. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("lpm6_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") #unit_tests_crc def test_cmdline(self): """ Run cmdline autotests in RTE comand line. """ self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("crc_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") def tear_down(self): """ Run after each test case. """ pass def tear_down_all(self): """ Run after each test suite. """ pass