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自动化测试报错调试相关推荐

  1. WARNING: [Labtools 27-3413] vivado报错调试界面无信号无波形解决方法

    vivado----fpga硬件调试 (五) ----找不到ila核问题及解决 INFO: [Labtools 27-2302] Device xczu9 (JTAG device index = 0 ...

  2. Flink checkpoint操作流程详解与报错调试方法汇总,增量checkpoint原理及版本更新变化,作业恢复和扩缩容原理与优化

    这里写目录标题 flink checkpint出错类型 flink 重启策略 Checkpint 流程简介 增量Checkpoint实现原理 MemoryStateBackend 原理 FsState ...

  3. NUCLEO下载程序报错+调试经验

    目录 打开工程报错"Loading PDSC Debug Description failed..." 报错原因 解决办法1 解决办法2 ''Internal command er ...

  4. VS Code将vue项目上传到github/gitee过程以及报错调试

    前期准备: 1.在gitee上创建远程仓库 2.创建项目本地仓库 在终端操作: 首先,用命令切换到项目路径 输入个人信息(代码提交者) git config --global user.name &q ...

  5. Fluent报错调试系列(一)

    背景:算例中两个流体计算域重叠部分边界条件如何设置.单以压力出口.outlet vent等设置无法满足算例物理过程需要,应设置为类似流固耦合边界的自动计算的耦合边界. 措施:设置为interface边 ...

  6. FT2004(D2000)开发实战之网口stmmac报错调试(Failed to reset the dma)

    一 报错信息概述 主芯片为飞腾FT2004,网口MAC为stmmac,phy芯片为ar8035,工作接口为RGMII接口 具体报错信息如下所示: [ 21.870860] IPv6: ADDRCONF ...

  7. robot selenium+python 对火狐浏览器进行网页自动化测试 报错历程

    robotfremaker selenium+python 使用 我的安装版本:python2.7 查看版本 cmd命令下输入python 用pip安装了selenum 3.11.0 查看版本 cmd ...

  8. CSP error: LinAlgError : The leading minor of order XX of B is not positive definite.报错调试过程(算已解决?)

    1.报错内容: 问题描述:用CSP和FBCSP对运动想象任务进行分类,调用mne库的函数.数据是自采的四分类数据,已经过滤波.降采样等预处理,在分类前已将trial打乱顺序,并进行标准化处理.数据是从 ...

  9. 关于android的Haxm报错调试问题

    在调试程序时候经常出现一些意外停止然后logcat爆出一堆错,如图所示: 这可能时候由于模拟I出现了问题,我们可以直接用第三方的模拟器,下面是各模拟器的连接代码 夜神模拟器:adb connect 1 ...

  10. php写else老是报错,调试PHP错误经常用到的一些

    ini_set('error_log','errorLog.txt');#记录下来所有发现的错误到文件里去. ini_set('display_errors', 1);#显示错误 ini_set('m ...

最新文章

  1. 手把手教你EMD算法原理与Python实现(更新)
  2. python加载shellcode免杀 简介
  3. php集成paypal接口,PHP中集成PayPal标准支付,php集成paypal标准_PHP教程
  4. python表单验证_python表单验证封装
  5. ASP.NET分类信息站全站制作视频教程5(AJAX+SQLITE+生成静态HTML)
  6. 校园智能安防监控解决方案
  7. Win7系统自带 计算器 详细使用方法
  8. 星型和全连网状MGRE、OSPF综合实验(二)
  9. Python版本切换与虚拟环境管理
  10. 字节跳动Android内部学习资料泄露,高级面试题+解析
  11. DOS命令全集【经典全集!】
  12. vue里使用echarts画世界地图
  13. 前端表单提交方式大全
  14. 中山大学南方学院计算机专业分数线,中山大学南方学院历年录取分数线多少及各省最低投档线统计表...
  15. JS 高级(七)ES6解构、class、promise
  16. windows10自动修复无法开机
  17. 第一台计算机作文,精选电脑三年级作文6篇
  18. Python第一次爬虫三部曲 wallhaven壁纸网站(requests库,re正则库)一看就会
  19. 【产品】设计时可用到的认知偏差与效应
  20. html bs架构调用客户端打印机用客户端及客户端局域网打印机打印,使用ScriptX.cab控件...

热门文章

  1. 傲腾服务器系统,服务器装傲腾内存
  2. SHA256算法原理介绍以及实现
  3. 不会写Java面试简历?看这一篇就够了(项目经历,个人技能)
  4. KVM虚拟化教程(超详细)
  5. 读书笔记:《码农增刊·游戏人生》
  6. 交互设计精髓之理解输出
  7. 计算机绘图说课视频,电气工程制图说课ppt课件
  8. Cknife(中国菜刀) and AntSword(中国蚁剑)使用
  9. 2020年这些正则应该被收藏(更新, 63条)
  10. 智慧博物馆信息系统建设方案