2.10. 使用 pudb 调试 Tempest 测试


您可以使用 pudb 创建和自定义断点,供您用于调试 Tempest 测试。

先决条件

流程

  1. 获取您要在其中使用 pudb 的 pod 的名称:

    $ oc get pods | grep -i <pod_name>
    • 将 < pod_name > 替换为您在 Tempest 自定义资源配置文件中指定的名称,如 tempest-tests,或者只能使用 $ oc get pods 并搜索相关的 pod。
  2. 远程访问 pod:

    $ oc rsh <pod_name>
    • 将 < pod_name > 替换为您在上一步中获取的 pod 的名称。
  3. 进入正确的目录:

    sh-5.1$ cd /var/lib/tempest/openshift
  4. 创建 Python3 轻量级虚拟环境:

    sh-5.1$ python3 -m venv --system-site-packages .venv
  5. 激活 Python3 轻量级虚拟环境:

    sh-5.1$ . .venv/bin/activate
  6. 在 Python3 轻量级虚拟环境中下载并安装 pudb

    (.venv) sh-5.1$ pip install pudb
  7. 找到您要调试的文件的路径,如 test_networks.py

    (.venv) sh-5.1$ find / -name test_networks.py 2> /dev/null
  8. 打开您选择的文件进行编辑:

    (.venv) sh-5.1$ sudo vi /usr/lib/python3.9/site-packages/tempest/api/network/test_networks.py
  9. 将行 导入 pudb; pu.db 插入到要创建 pudb 断点的文件,然后保存并关闭该文件。
  10. 更改所有权:

    (.venv) sh-5.1 $ sudo chown -R tempest:tempest /var/lib/tempest/.config
  11. 使用 pudb 断点运行测试:

    (.venv) sh-5.1 $ python -m testtools.run tempest.api.network.test_networks.NetworksTest.test_list_networks

验证

  • pudb 接口将打开。在测试完成前,您可以与 pudb 接口交互。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.