vpp自动化测试报错调试
1)vpp 自动化测试方法
在源码目录下,执行 make test 命令可进行自动化测试,并可通过 make test-help 来查看具体的参数信息。
2)如果在执行 make test 时,vpp 报错,或者 vpp crash,导致 python 侧 IO 超时,比如:
...
Starting ACL create/delete test ...
------------------------------------------------------------------------------
Received read timeout 5s
11:44:08,004 [Errno 2] No such file or directory
Received read timeout 5s
11:44:13,001 [Errno 2] No such file or directory
------------------------------------------------------------------------------
...
==============================================================================
ERROR: ACL create/delete test
------------------------------------------------------------------------------
Traceback (most recent call last):File "test_acl_plugin.py", line 603, in test_0001_acl_createacls=[first_acl])File "/root/vpp/build-root/rpmbuild/vpp-18.07.1/test/vpp_papi_provider.py", line 2864, in acl_interface_set_acl_listexpected_retval=expected_retval)File "/root/vpp/build-root/rpmbuild/vpp-18.07.1/test/vpp_papi_provider.py", line 160, in apireply = api_fn(**api_args)File "build/bdist.linux-arch/egg/vpp_papi/vpp_papi.py", line 106, in __call__return self._func(**kwargs)File "build/bdist.linux-arch/egg/vpp_papi/vpp_papi.py", line 397, in freturn self._call_vpp(i, msg, multipart, **kwargs)File "build/bdist.linux-arch/egg/vpp_papi/vpp_papi.py", line 604, in _call_vppmsg = self._read()File "build/bdist.linux-arch/egg/vpp_papi/vpp_papi.py", line 442, in _readraise IOError(rv, 'vac_read failed')
IOError: [Errno -1] vac_read failed
3)此时应该通过执行 make test-shell DEBUG=gdb,进入测试框架提供的 shell 环境,如下所示:
[root@bogon vpp-18.07.1]# make test-shell DEBUG=gdb
...
(virtualenv) [root@bogon test]#
(virtualenv) [root@bogon test]#
然后单独执行那个报错的测试用例,比如:test_acl_plugin.py:
(virtualenv) [root@bogon test]# python test_acl_plugin.py
...
------------------------------------------------------------------------------
You can debug the VPP using e.g.:
gdb /root/vpp/build-root/rpmbuild/vpp-18.07.1/build-root/install-vpp-native/vpp/bin/vpp -ex 'attach 1880693'
Now is the time to attach a gdb by running the above command and set up breakpoints etc.
------------------------------------------------------------------------------
Press ENTER to continue running the testcase...
执行上述命令后,程序会停下来,根据上面的提示,可通过 gdb attach 来调试上述测试用例在执行过程中启动的 vpp 实例,在你认为有问题的地方打上断点,并 continue,如下所示:
[root@bogon vpp-18.07.1]# gdb /root/vpp/build-root/rpmbuild/vpp-18.07.1/build-root/install-vpp-native/vpp/bin/vpp -ex 'attach 1880693'
...
Reading symbols from /root/vpp/build-root/rpmbuild/vpp-18.07.1/build-root/install-vpp-native/vpp/bin/vpp...done.
Attaching to program: /root/vpp/build-root/rpmbuild/vpp-18.07.1/build-root/install-vpp-native/vpp/bin/vpp, process 2483450
[New LWP 2483451]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x000000fff67d65d4 in epoll_pwait () from /lib64/libc.so.6
(gdb) b vnet_classify_new_table
Breakpoint 1 at 0xfff6dcef90: file /root/vpp/build-root/rpmbuild/vpp-18.07.1/build-data/../src/vnet/classify/vnet_classify.c, line 128.
(gdb) c
Continuing.
4)在刚才启动的测试用例中敲回车,以便让测试用例继续执行,在 gdb 中命中断点后就可以进行调试了。
You can debug the VPP using e.g.:
gdb /root/vpp/build-root/rpmbuild/vpp-18.07.1/build-root/install-vpp-native/vpp/bin/vpp -ex 'attach 1880693'
Now is the time to attach a gdb by running the above command and set up breakpoints etc.
------------------------------------------------------------------------------
Press ENTER to continue running the testcase...
==============================================================================
ACL plugin Test Case
==============================================================================
Starting ACL plugin version check; learn MACs ...
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ACL plugin version check; learn MACs OK
------------------------------------------------------------------------------
Starting ACL create/delete test ...
vpp自动化测试报错调试相关推荐
- WARNING: [Labtools 27-3413] vivado报错调试界面无信号无波形解决方法
vivado----fpga硬件调试 (五) ----找不到ila核问题及解决 INFO: [Labtools 27-2302] Device xczu9 (JTAG device index = 0 ...
- Flink checkpoint操作流程详解与报错调试方法汇总,增量checkpoint原理及版本更新变化,作业恢复和扩缩容原理与优化
这里写目录标题 flink checkpint出错类型 flink 重启策略 Checkpint 流程简介 增量Checkpoint实现原理 MemoryStateBackend 原理 FsState ...
- NUCLEO下载程序报错+调试经验
目录 打开工程报错"Loading PDSC Debug Description failed..." 报错原因 解决办法1 解决办法2 ''Internal command er ...
- VS Code将vue项目上传到github/gitee过程以及报错调试
前期准备: 1.在gitee上创建远程仓库 2.创建项目本地仓库 在终端操作: 首先,用命令切换到项目路径 输入个人信息(代码提交者) git config --global user.name &q ...
- Fluent报错调试系列(一)
背景:算例中两个流体计算域重叠部分边界条件如何设置.单以压力出口.outlet vent等设置无法满足算例物理过程需要,应设置为类似流固耦合边界的自动计算的耦合边界. 措施:设置为interface边 ...
- FT2004(D2000)开发实战之网口stmmac报错调试(Failed to reset the dma)
一 报错信息概述 主芯片为飞腾FT2004,网口MAC为stmmac,phy芯片为ar8035,工作接口为RGMII接口 具体报错信息如下所示: [ 21.870860] IPv6: ADDRCONF ...
- robot selenium+python 对火狐浏览器进行网页自动化测试 报错历程
robotfremaker selenium+python 使用 我的安装版本:python2.7 查看版本 cmd命令下输入python 用pip安装了selenum 3.11.0 查看版本 cmd ...
- CSP error: LinAlgError : The leading minor of order XX of B is not positive definite.报错调试过程(算已解决?)
1.报错内容: 问题描述:用CSP和FBCSP对运动想象任务进行分类,调用mne库的函数.数据是自采的四分类数据,已经过滤波.降采样等预处理,在分类前已将trial打乱顺序,并进行标准化处理.数据是从 ...
- 关于android的Haxm报错调试问题
在调试程序时候经常出现一些意外停止然后logcat爆出一堆错,如图所示: 这可能时候由于模拟I出现了问题,我们可以直接用第三方的模拟器,下面是各模拟器的连接代码 夜神模拟器:adb connect 1 ...
- php写else老是报错,调试PHP错误经常用到的一些
ini_set('error_log','errorLog.txt');#记录下来所有发现的错误到文件里去. ini_set('display_errors', 1);#显示错误 ini_set('m ...
最新文章
- 手把手教你EMD算法原理与Python实现(更新)
- python加载shellcode免杀 简介
- php集成paypal接口,PHP中集成PayPal标准支付,php集成paypal标准_PHP教程
- python表单验证_python表单验证封装
- ASP.NET分类信息站全站制作视频教程5(AJAX+SQLITE+生成静态HTML)
- 校园智能安防监控解决方案
- Win7系统自带 计算器 详细使用方法
- 星型和全连网状MGRE、OSPF综合实验(二)
- Python版本切换与虚拟环境管理
- 字节跳动Android内部学习资料泄露,高级面试题+解析
- DOS命令全集【经典全集!】
- vue里使用echarts画世界地图
- 前端表单提交方式大全
- 中山大学南方学院计算机专业分数线,中山大学南方学院历年录取分数线多少及各省最低投档线统计表...
- JS 高级(七)ES6解构、class、promise
- windows10自动修复无法开机
- 第一台计算机作文,精选电脑三年级作文6篇
- Python第一次爬虫三部曲 wallhaven壁纸网站(requests库,re正则库)一看就会
- 【产品】设计时可用到的认知偏差与效应
- html bs架构调用客户端打印机用客户端及客户端局域网打印机打印,使用ScriptX.cab控件...