pytest-dev / pytest-dev/execnet

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

Offen
#51 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
102
Forks
47
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit testing/test_gateway.py::TestBasicGateway::test_gateway_status_busy und reproduziere den Fehler in der gemeldeten Umgebung mit Python 2.7.13 und Pytest 3.0.5. Verfolge die remote_status-Werte des Thread-Socket-Gateways, nachdem beide Kanäle geschlossen wurden. Als erledigt gilt, wenn der Test zuverlässig beobachtet, dass numexecuting null erreicht, ohne dass die anderen Gateway-Fälle regressieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
distributed-systems, testing-qa
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.