日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vpp自动化测试报错调试

發布時間:2023/12/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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自动化测试报错调试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。