dts--tests(四)

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
原文地址:https://www.cnblogs.com/eilinge/p/9802505.html