pytest-dev / pytest-dev/execnet

Test failure with enabled warnings

Offen
#31 0 Kommentare 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

Execnet has 1 additional test failure with Python >=3.2 and enabled warnings (using e.g. PYTHONWARNINGS="d,i::ImportWarning" environmental variable) due to unexpected ResourceWarning in stderr.

$ PYTHONPATH="$(pwd)" PYTHONWARNINGS="d,i::ImportWarning" py.test-3.3 testing
==================================================================== test session starts ====================================================================
platform linux -- Python 3.3.5 -- py-1.4.20 -- pytest-2.5.2
gateway test setup scope: session
execnet: /tmp/execnet/execnet/__init__.py -- 1.2.0
collected 916 items 

testing/test_basics.py ...................ss.....ss.....ss.F.....
testing/test_channel.py ..s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s.
testing/test_gateway.py ..s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s...s......s.ss
testing/test_multi.py ..s.xx
testing/test_termination.py .....ss.xxxxxss
testing/test_threadpool.py ......x.......
testing/test_basics.py sssssssssssssssssssss
testing/test_channel.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
testing/test_gateway.py sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
testing/test_multi.py ssssss
testing/test_termination.py sssssssssssssss
testing/test_threadpool.py ssssssssssssss
testing/test_basics.py sssssssssssssssssssss
testing/test_channel.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
testing/test_gateway.py sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
testing/test_multi.py ssssss
testing/test_termination.py sssssssssssssss
testing/test_threadpool.py ssssssssssssss
testing/test_basics.py .....ss.....ss................ss..
testing/test_channel.py s.
testing/test_fixes.py ..
testing/test_gateway.py ............s.
testing/test_multi.py ..............
testing/test_rsync.py ...........
testing/test_serializer.py ...............
testing/test_termination.py ......ss
testing/test_xspec.py .....................ss.

========================================================================= FAILURES ==========================================================================
_____________________________________________________________ test_stdouterrin_setnull[thread] ______________________________________________________________

execmodel = <ExecModel 'thread'>

    @pytest.mark.skipif("not hasattr(os, 'dup')")                                                                                                            
    def test_stdouterrin_setnull(execmodel):                                                                                                                 
        cap = py.io.StdCaptureFD()                                                                                                                           
        gateway_base.init_popen_io(execmodel)                                                                                                                
        os.write(1, "hello".encode('ascii'))                                                                                                                 
        if os.name == "nt":                                                                                                                                  
            os.write(2, "world")
        os.read(0, 1)
        out, err = cap.reset()
        assert not out
>       assert not err
E       assert not "/tmp/execnet/testing/test_basics.py:196: ResourceWarning: unclosed file <_io.TextIOWrapper name=13 mode='r' encoding=...file <_io.TextIOWrapper name=1 mode='w' encoding='UTF-8'>\n  setattr(sys, patchsysdict[self.targetfd], self._oldsys)\n"

testing/test_basics.py:203: AssertionError
---------------------------------------------------------------------- Captured stderr ----------------------------------------------------------------------
/usr/lib64/python3.3/site-packages/py/_io/capture.py:77: ResourceWarning: unclosed file <_io.TextIOWrapper name=0 mode='r' encoding='UTF-8'>
  setattr(sys, patchsysdict[self.targetfd], self._oldsys)
================================================================== short test summary info ==================================================================
XFAIL testing/test_multi.py::test_safe_terminate[thread]
  reason: execution model 'thread' does not support task count
XFAIL testing/test_multi.py::test_safe_terminate2[thread]
  reason: execution model 'thread' does not support task count
XFAIL testing/test_termination.py::test_terminate_implicit_does_trykill[sys.executable-thread]
  reason: only os threading model supported
XFAIL testing/test_termination.py::test_terminate_implicit_does_trykill[python3.3-thread]
  reason: only os threading model supported
XFAIL testing/test_termination.py::test_terminate_implicit_does_trykill[python3.2-thread]
  reason: only os threading model supported
XFAIL testing/test_termination.py::test_terminate_implicit_does_trykill[python2.6-thread]
  reason: only os threading model supported
XFAIL testing/test_termination.py::test_terminate_implicit_does_trykill[python2.7-thread]
  reason: only os threading model supported
XFAIL testing/test_threadpool.py::test_limited_size[thread]
  WorkerPool does not implement limited size
SKIP [54] /tmp/execnet/testing/conftest.py:66: no 'gspecs' value found
SKIP [2] /usr/lib64/python3.3/site-packages/_pytest/skipping.py:132: condition: sys.version>="3.0"
SKIP [249] /tmp/execnet/testing/conftest.py:177: could not import 'eventlet'
SKIP [17] /tmp/execnet/testing/conftest.py:129: no pypy found
SKIP [17] /tmp/execnet/testing/conftest.py:129: no jython found
SKIP [249] /tmp/execnet/testing/conftest.py:177: could not import 'gevent'
=============================================== 1 failed, 319 passed, 588 skipped, 8 xfailed in 48.32 seconds ===============================================
sys:1: ResourceWarning: unclosed <socket.socket object, fd=17, family=2, type=1, proto=0>
sys:1: ResourceWarning: gc: 4 uncollectable objects at shutdown; use gc.set_debug(gc.DEBUG_UNCOLLECTABLE) to list them

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

Reproduziere den Lauf mit aktivierten Warnungen und beginne mit testing/test_basics.py::test_stdouterrin_setnull, insbesondere mit dem Aufruf von gateway_base.init_popen_io(execmodel). Untersuche den erfassten stderr und die zugehörige Behandlung der Standard-Streams; erledigt ist die Aufgabe, wenn der Test mit Python 3.2+ und aktivierten Warnungen ohne unerwartete ResourceWarning-Ausgabe besteht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
testing-qa
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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