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
dts--tests(四)的更多相关文章
- Unit testing Cmockery 简单使用
/********************************************************************** * Unit testing Cmockery 简单使用 ...
- Mac下GTest的基本使用
Mac下GTest的基本使用 gtest全称Google C++ Testing Framework,它是从谷歌内部诞生并受到业界追捧的一个非常优秀的测试框架,支持如自动发现测试.自定义断言.死亡测试 ...
- (十四)Linux kernel mmc 框架说明,包括mmc_test使用方法
1.Linux 总线模型 Linux下的任何驱动在内核中最终都抽象为bus, driver以及device三者间的相互作用. 总线是处理器和一个或多个设备之间的通道,在设备模型中,所有 ...
- 进击的Python【第四章】:Python的高级应用(一)
Python的高级应用(一) 本章内容: 内置函数 生成器 迭代器 装饰器 JSON和PICKLE的简单用法 软件目录结构规范 一.内置函数 1.数学运算类 abs(x) 求绝对值1.参数可以是整型, ...
- Util应用程序框架公共操作类(四):验证公共操作类
为了能够验证领域实体,需要一个验证公共操作类来提供支持.由于我将使用企业库(Enterprise Library)的验证组件来完成这项任务,所以本文也将演示对第三方框架的封装要点. .Net提供了一个 ...
- Jetty使用教程(四:21-22)—Jetty开发指南
二十一.嵌入式开发 21.1 Jetty嵌入式开发HelloWorld 本章节将提供一些教程,通过Jetty API快速开发嵌入式代码 21.1.1 下载Jetty的jar包 Jetty目前已经把所有 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- 解剖SQLSERVER 第四篇 OrcaMDF里对dates类型数据的解析(译)
解剖SQLSERVER 第四篇 OrcaMDF里对dates类型数据的解析(译) http://improve.dk/parsing-dates-in-orcamdf/ 在SQLSERVER里面有几 ...
- Cocos2d-x 3.2 学习笔记(四)学习打包Android平台APK!
从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷! (涉及到3.1.1版本的,请自动对应3.2版本,3.x版本的环境搭建都是一样的) ...
- Python自动化 【第四篇】:Python基础-装饰器 生成器 迭代器 Json & pickle
目录: 装饰器 生成器 迭代器 Json & pickle 数据序列化 软件目录结构规范 1. Python装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: ...
随机推荐
- MyEclipse项目中的文件点击右键Team选项中没有提交到SVN中的选项是怎么回事
MyEclipse项目中的文件点击右键Team选项中没有提交到SVN中的选项是怎么回事 其实你已经可以百度到很多方法: 例如下面博客提供的 http://www.xuebuyuan.com/95285 ...
- DO、PO、BO、DTO、VO等概念
PO 全称为:Persistant Object,持久化对象,与数据库结构映射的实体,数据库中的一条数据即为一个 PO 对象. BO 全称为:Business Object,业务对象,主要作用是把业务 ...
- [学习心得][Introduction to ASP.NET Core 1.0]4-1 Creating a Form
原视频地址https://mva.microsoft.com/en-US/training-courses/introduction-to-asp-net-core-1-0-16841?l=eYlqd ...
- WHRER条件里的数据类型必须和字段数据类型一致
首先看案例: 表中字段FPHONE_IMEI是varchar类型的,主键也建立在FPHONE_IMEI 字段上,原则上只要where条件中用到了这个字段,就会走索引,这也是建立索引的目的,可事实是这样 ...
- Spring配置文件详细分析
XML Schema命名空间作用: 1.避免命名冲突,像Java中的package一样 2.将不同作用的标签分门别类(像Spring中的tx命名空间针对事务类的标签,context命名空间针对组件的标 ...
- python 输出奇偶数并排序
random_numbers = [] for i in range(40): random_numbers.append(random.randint(1, 100)) num1 = [] num2 ...
- oracle 11g expdp impdp详细使用方法
11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法如下图: 二.oracle10g以后提供了expdp/impdp工具,同样可以解决此问题 1.导出expdp工具使用方法: ...
- May 03rd 2017 Week 18th Wednesday
Truth needs no colour; beauty, no pencil. 真理不需要色彩,美丽不需要涂饰. There is no absoulte truth and everlastin ...
- CRM, C4C和Hybris的后台作业
CRM 使用事务码SM36查看CRM系统的后台作业: 举一些例子: ABAP_TEXT_INDEX这个job执行的report是ABAP_DOCU_CREATE_TEXT_INDEX: 负责填充buf ...
- spring依赖注入(转)
转自:https://blog.csdn.net/taijianyu/article/details/2338311/ Spring 能有效地组织J2EE应用各层的对象.不管是控 制层的Action对 ...