pytest-dev / pytest-dev/execnet

test_gateway.py::TestBasicGateway::test_gateway_status_busy[thread-socket] FAILED

未关闭
#51 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
102
派生
47
PR 合并指标
30 天内没有已合并 PR

描述

We're still experimenting what's triggering this, it appears with Python 2.7.13 and Pytest 3.0.5:

testing/test_gateway.py::TestBasicGateway::test_gateway_status_busy[thread-socket] FAILED
=========================== short test summary info ============================
SKIP [36] /usr/lib/python2.7/dist-packages/_pytest/config.py:1180: no 'gspecs' option found
SKIP [3] /home/user/execnet-1.4.1/testing/conftest.py:148: no pypy found
SKIP [3] /home/user/execnet-1.4.1/testing/conftest.py:148: no python2.6 found
SKIP [3] /home/user/execnet-1.4.1/testing/conftest.py:148: no python3.2 found
SKIP [3] /home/user/execnet-1.4.1/testing/conftest.py:148: no jython found
SKIP [3] /home/user/execnet-1.4.1/testing/conftest.py:148: no python3.3 found

=================================== FAILURES ===================================
___________ TestBasicGateway.test_gateway_status_busy[thread-socket] ___________

self = <test_gateway.TestBasicGateway instance at 0xb39c5b8c>
gw = <Gateway id='socket' receive-live, thread model, 0 active channels>

    def test_gateway_status_busy(self, gw):
        numchannels = gw.remote_status().numchannels
        ch1 = gw.remote_exec("channel.send(1); channel.receive()")
        ch2 = gw.remote_exec("channel.receive()")
        ch1.receive()
        status = gw.remote_status()
        assert status.numexecuting == 2  # number of active execution threads
        assert status.numchannels == numchannels + 2
        ch1.send(None)
        ch2.send(None)
        ch1.waitclose()
        ch2.waitclose()
        for i in range(10):
            status = gw.remote_status()
            if status.numexecuting == 0:
                break
        else:
>           pytest.fail("did not get correct remote status")
E           Failed: did not get correct remote status

testing/test_gateway.py:88: Failed
============================ pytest-warning summary ============================
WI1 /home/user/execnet-1.4.1/testing/conftest.py:21 'pytest_runtest_setup' hook uses deprecated __multicall__ argument
WC1 None pytest_funcarg__specsocket: declaring fixtures using "pytest_funcarg__" prefix is deprecated and scheduled to be removed in pytest 4.0.  Please remove the prefix and use the @pytest.fixture decorator instead.
WC1 None pytest_funcarg__specssh: declaring fixtures using "pytest_funcarg__" prefix is deprecated and scheduled to be removed in pytest 4.0.  Please remove the prefix and use the @pytest.fixture decorator instead.
!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!
===== 1 failed, 136 passed, 51 skipped, 3 pytest-warnings in 12.66 seconds =====

However this comes from a clean Debian Testing (Stretch) on i386.

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 testing/test_gateway.py::TestBasicGateway::test_gateway_status_busy 开始,在报告的 Python 2.7.13 和 Pytest 3.0.5 环境中重现该失败。跟踪两个通道都关闭后 thread-socket gateway 的 remote_status 值。完成的标准是测试能够可靠地观察到 numexecuting 达到零,同时不会导致其他 gateway 用例回归。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
distributed-systems, testing-qa
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。