pytest-dev / pytest-dev/execnet
2.1.1: `test_popen_io[gevent-sys.executable]` fails
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 102
- Forks
- 47
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I see this failure while testing execnet 2.1.1 on OpenIndiana:
_____________________ test_popen_io[gevent-sys.executable] _____________________
checker = Checker(python='$(BUILD_DIR)/.tox/py39/bin/python', path=PosixPath('/tmp/pytest-of-marcel/pytest-181/test_popen_io_gevent_sys_execu0'), idx=1)
execmodel = <ExecModel 'gevent'>
def test_popen_io(checker: Checker, execmodel: ExecModel) -> None:
> out = checker.run_check(
inspect.getsource(gateway_base)
+ f"""
io = init_popen_io(get_execmodel({execmodel.backend!r}))
io.write(b"hello")
s = io.read(1)
assert s == b"x"
""",
input="x",
)
testing/test_basics.py:188:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
testing/test_basics.py:165: in run_check
return subprocess.run(
/usr/lib/python3.9/subprocess.py:507: in run
stdout, stderr = process.communicate(input, timeout=timeout)
/usr/lib/python3.9/subprocess.py:1134: in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
/usr/lib/python3.9/subprocess.py:1995: in _communicate
ready = selector.select(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selectors.PollSelector object at 0x7fffa7e1c9a0>, timeout = None
def select(self, timeout=None):
# This is shared between poll() and epoll().
# epoll() has a different signature and handling of timeout parameter.
if timeout is None:
timeout = None
elif timeout <= 0:
timeout = 0
else:
# poll() has a resolution of 1 millisecond, round away from
# zero to wait *at least* timeout seconds.
timeout = math.ceil(timeout * 1e3)
ready = []
try:
> fd_event_list = self._selector.poll(timeout)
E Failed: Timeout >20.0s
/usr/lib/python3.9/selectors.py:416: Failed
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, test_popen_io[gevent-sys.executable] auf OpenIndiana auszuführen und testing/test_basics.py im Umfeld von test_popen_io und run_check zu untersuchen. Verfolge den im Fehler angezeigten init_popen_io-Pfad, um zu bestimmen, warum der Unterprozess nicht abgeschlossen wird. Als erledigt gilt die Aufgabe, wenn der Test innerhalb des Timeouts abgeschlossen wird und seine Byte-I/O-Assertions erfolgreich sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- testing
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100