• 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
  • 相关阅读:
    Unix高级编程之文件权限
    gdb手册
    libev 使用
    Unix高级环境编程之fcntl函数
    设计基于锁的并发数据结构
    CPU占用分析
    atomic用法
    RESTful架构搜集
    神奇的VIM
    [转] boost:lexical_cast用法
  • 原文地址:https://www.cnblogs.com/eilinge/p/9802505.html
Copyright © 2020-2023  润新知