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装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: ...
随机推荐
- DB2去重复的几种方法
DB2去重的几种方法 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 例如下表:tabl ...
- hql基础入门
[转]进入HQL世界 一个ORM框架是建立在面向对象的基础上的.最好的例子是Hibernate如何提供类SQL查询.虽然HQL的语法类似于SQL,但实际上它的查询目标是对象.HQL拥有面向对象语言的所 ...
- 结合IL和Windbg来看.Net调用继承虚方法的执行顺序
先上测试代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- c# 父类的引用指向子类的实例
在C#中关于父类对子类的引用大概有这么几种: 父类是接口,普通类,抽象类 public interface A { void a(); } public class B { public void b ...
- SVN中建立项目
下午建个svn的时候,出错,有个东西配置错了,晚上google看到一篇文章,觉得作者写的不错,而且很用心,转来共享. [转至]5分钟快速建立项目版本控制 – Face Code,Brain bloom ...
- spring-cloud构架微服务(2)-全局配置二
接上篇,实际项目中,可能会遇到有些配置项,例如:邮件地址.手机号等在服务已经上线之后做了改动(就当会出现这种情况好了).然后你修改了配置信息,就得一个一个去重启对应的服务.spring-全局配置提供了 ...
- Python元组、列表、字典、集合
1. 元组 元组由不同元素组成,每个元素可以存储不同类型的数据,元组是有序的,元组创建后不能再做任何修改. 元组的创建: tuple = ('a','b','c','d') 如果创建的元组只有1个元素 ...
- 单步调试理解webpack里通过require加载nodejs原生模块实现原理
在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块. 原生模块的加载,比如: const path = require("path" ...
- centos6.5下编译安装FFmpeg
以下安装步骤基本来自官网,做个笔记以方便自己以后查看 http://trac.ffmpeg.org/wiki/CompilationGuide 1.安装依赖包 <span style=" ...
- 2018.8.1 Java中的反射和同步详解
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他 ...