IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> ovs测试用例解析 -> 正文阅读

[开发测试]ovs测试用例解析

? ? ? ? Autotest 提供了一个测试套件生成框架,基于 m4 宏构建一个可移植的 shell 脚本。ovs基于autotest测试框架实现了基础测试用例。

? ? ? ? 从测试用例at文件到生成可执行shell脚本的过程:

????????autom4te是autoconf提供的工具。

? ? ? ? 测试用例执行过程:

?

autotest基础语法:

? ? ? ? 参照:Writing Testsuites - Autoconf

????????— Macro:?AT_INIT?([name])

? ? ? ? ? ? ? ? autotest的初始化,测试模块名(可以省略);

????????— Macro:?AT_COPYRIGHT?(copyright-notice)

? ? ? ? ? ? ? ? 版权定义;

????????— Macro:?AT_TESTED?(executables)

? ? ? ? ? ? ? ? 描述了测试用例组所要使用到的外部程序;

????????— Macro:?AT_BANNER?(test-category-name)??

? ? ? ? ? ? ? ? 定义一个测试类名,同一类型的测试组划分为一个测试类;(执行测试组中的每个测试用例时都会携带上测试类)(不超过30-40个字符)

????????— Macro:?AT_SETUP?(test-group-name)

? ? ? ? ? ? ? ? 标志着一组测试用例的开始,并描述了这组测试用例的目的;(不超过30-40个字符)

????????— Macro:?AT_KEYWORDS?(keywords)

? ? ? ? ? ? ? ? 定义了测试用例的关键字;执行测试用例时可以根据关键字匹配到这个/组测试用例;

????????— Macro:?AT_CAPTURE_FILE?(file)

? ? ? ? ? ? ? ? 定义了当前测试组用例执行失败时,log文件;

????????— Macro:?AT_XFAIL_IF?(shell-condition)

? ? ? ? ? ? ? ? 当前测试用例的期望结果; 如AT_XFAIL_IF([test "$IS_WIN32" = "yes"])

????????— Macro:?AT_CLEANUP

? ? ? ? ? ? ? ? 标志着当前测试用例组的结束;

????????— Macro:?AT_DATA?(file, contents)

? ? ? ? ? ? ? ? 使用contents内容初始化file;

????????— Macro:?AT_CHECK?(commands,?[status = `0'],?[stdout = `'],?[stderr = `'],?[run-if-fail],?[run-if-pass])

? ? ? ? ? ? ? ? 执行命令commands,若命令执行返回值为77则整个测试用例组被跳过;否则根据返回值判定是否执行成功并执行对应的脚本(run-if-fail);

?????????testsuite脚本的生成:

? ? ? ? Makefile文件生成testsuite的规则:

????????$(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT)
? ? ? ? ?????????$(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
? ? ? ? ?????????$(AM_V_at)mv $@.tmp $@

? ? ? ? Makefile执行及testsuite生成的过程:???????

?????????/bin/bash /home/sun/code/temp/openvswitch-2.13.4/build-aux/missing autom4te ---language=autotest -I '.' -o tests/testsuite.tmp tests/testsuite.at
????????mv tests/testsuite.tmp tests/testsuite

以tests目录下用户空间数据面测试用例system-traffic.at为例说明如何增加新的测试用例:

system-common-macros.at定义了测试用例中使用到的宏;

tests/system-traffic.at · mirrors_openvswitch/ovs - Gitee.com

AT_BANNER([datapath-sanity]) //测试类名定义

AT_SETUP([datapath - ping between two ports])//测试组名定义
OVS_TRAFFIC_VSWITCHD_START() //定义在system-userspace-macro.at,创建配置数据库、启动ovsdn-server、ovs-vswitchd、创建接口br0

AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"])//添加交换机br0的流表;

ADD_NAMESPACES(at_ns0, at_ns1)//ADD_NAMESPACE宏定义在system-common-macro.at,此处创建两个namespace

ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")//添加veth接口并配置ip(veth接口成对出现,p0<-->ovs-p0)
ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")

NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | FORMAT_PING], [0], [dnl
3 packets transmitted, 3 received, 0% packet loss, time 0ms
])//NS_CHECK_EXEC宏定义在system-common_macro.at中
NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | FORMAT_PING], [0], [dnl
3 packets transmitted, 3 received, 0% packet loss, time 0ms
])
NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | FORMAT_PING], [0], [dnl
3 packets transmitted, 3 received, 0% packet loss, time 0ms
])

OVS_TRAFFIC_VSWITCHD_STOP//停止ovs-vswitchd、ovsdb-server进程;
AT_CLEANUP

参考链接:autotest测试框架: Using Autotest - Autoconf

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:41:46  更:2021-10-18 17:42:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:28:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码