pycharm 远程调试 tempest

本地windows 下面 tempest pip依赖不好装,而且和部分服务之间有防火墙之类的需要打通,很不方便。所以考虑直接本地编辑代码,远端运行代码。记录一下整个在pycharm里面设置的过程。

在 file -> setting -> project 解释器里面增加remote 解释器:

Paste_Image.png
Paste_Image.png

远程linux服务器的信息

root@cnsrc-cns-tempest-ci:~/tempest_netease/tempest-ci/tempest# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP qlen 1000
    link/ether fa:16:3e:cd:d1:a4 brd ff:ff:ff:ff:ff:ff
    inet 10.180.65.60/23 brd 10.180.65.255 scope global eth0
    inet6 fe80::f816:3eff:fecd:d1a4/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fa:16:3e:f2:57:f4 brd ff:ff:ff:ff:ff:ff
    inet 115.236.127.192/24 brd 115.236.127.255 scope global eth1
    inet6 fe80::f816:3eff:fef2:57f4/64 scope link 
       valid_lft forever preferred_lft forever
root@cnsrc-cns-tempest-ci:~/tempest_netease/tempest-ci/tempest#
Paste_Image.png

下面这个配置很重要, Local Path 是本地 py 文件存储的地方(默认为当前工程所在地方), Remote Path 为远程 Linux 的目录,编辑本地的 py 文件后,在调试时,远程的 python 环境不会直接运行你本地文件夹的 py 文件,而是访问 Linux 自己的目录,这个目录就是这里设置的,接下来就是配置这连个文件夹同步即可。

Paste_Image.png
Paste_Image.png

进行deployment 的配置

Paste_Image.png

配置sftp选项,相当于两边目录同步设置

Paste_Image.png

配置mapping

Paste_Image.png

option里面,配置这个选项,本地 ctrl +s 就能保存并同步到远端。(或者选择always,pycharm就能一直自动帮你同步到远端)

Paste_Image.png

代码也可以手工上传,一般第一次进行同步的时候可以手工上传一遍,之后就选择自动同步了。

Paste_Image.png

测试一下,在服务器端命令行下执行nosetest:

root@cnsrc-cns-tempest-ci:~/tempest_netease/tempest-ci/tempest# nosetests -sv tempest/api/network/test_ports.py:PortsTestJSON.test_create_update_port_with_second_ip
tempest.api.network.test_ports.PortsTestJSON.test_create_update_port_with_second_ip[gate,smoke] ... ok

----------------------------------------------------------------------
Ran 1 test in 17.497s

OK
root@cnsrc-cns-tempest-ci:~/tempest_netease/tempest-ci/tempest#

下面配置pycharm端的runner设置:

pycharm端的runner配置为nosetest

选择对应的文件

D:\demo\tempest-ci\tempest\tempest\api\network\test_ports.py
Paste_Image.png

跑过的话效果如下:

Paste_Image.png

如果测试某一个具体的方法,可以这样指定(测试具体的类,或者具体的目录类似):

Paste_Image.png

打断点,debug看堆栈信息也可以使用了。

image

这比用 pdb 一个一个在文件中打断点方便不少。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,800评论 19 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,973评论 9 468
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,228评论 2 33
  • 其实,很久以前就想写点东西,无论写什么?写写就好,太久没有诉说自己心里的想法,我也许就是沉默的大多数,以前总想侃侃...
    94小花喵阅读 2,144评论 0 0
  • 1、坚持早起:早上5点20分起床。我的行动力很好! 2、坚持站樁:坚持站樁15分钟。已经坚持一年多了,除了个别几天...
    Rfen阅读 606评论 0 0