pytest-dev / pytest-dev/execnet

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

オープン
#51 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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. リポジトリをフォークし、ブランチを切って変更します。
  4. 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 を短くまとめたダイジェスト。