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装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: ...
随机推荐
- MSSql中profiler工具介绍,
第一次使用profiler感觉真的是很方便. 他的作用可能有很多,但是我只是简单其中一点,就是查看某一时刻数据库执行了哪些操作,执行了哪些语句,执行语句所花费的时间.都可以很方便的查到,这对于我们优化 ...
- IoC(控制反转)和DI(依赖注入)
一.IOC 1.目标类 提供UserService接口和实现类 获得UserService实现类的实例 之前开发中,直接new一个对象即可,使用spring之后,将由spring创建 -->I ...
- easyui combobox with checkbox item
$('#cc').combobox({ url:'combobox_data1.json', method:'get', valueField:'id', textField:'text', pane ...
- Object公用方法
Object是所有类的父类,任何类都默认继承Object. Object类到底实现了哪些方法? 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否 ...
- [转]hash冲突的四种办法
原文地址:http://blog.csdn.net/qq_27093465/article/details/52269862 一)哈希表简介 非哈希表的特点:关键字在表中的位置和它之间不存在一个确定的 ...
- XHML教会我的一些东西-4
今天把“河畔林语”的项目看完了.我自己也试着做了一下,这算是自己写的第一个项目吧.虽然全部是模仿,而且经常一边看写好的一边自己写,还是自己不够成熟呀. 不知道为什么,我用我的电脑进http://www ...
- Mysql慢查询 [第二篇]
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- 【QT】Qaction和触发函数建立连接的方法
说明:我是在ui里面编辑好控件以及位置,然后在程序里面将控件和触发函数进行绑定,实现的触发操作. 代码如下: MainWindow::MainWindow(QWidget *parent) : QMa ...
- ASP.NET与json对象互转
这两天写这个xml跟json的读写,心累啊,也不是很理解,请大家多指教 首先来个热身菜做一个简单的解析json 在script里写一个简单的弹窗效果 <script> //script里简 ...
- iOS获取/删除url中的参数
1.获取URL中的某个参数: - (NSString *)getParameter:(NSString *)parameter urlStr:(NSString *)url { NSError *er ...