Integration with pytest-timeout plugin
まだ誰も着手していません。
評価
調査の方向性
まず pytest_forked/init.py、特に pytest_runtest_protocol と forked_run_report を、py/_process/forkedfunc.py および pytest_timeout.py の timeout path まで追跡します。ラップされたテストの traceback を保持できるかを判断し、timeout が pytest-forked のフレームだけでなくラップされたテストから有用な情報を報告するために必要な作業を検討します。
索引モデルが issue の本文から書いたものです。
説明
Hi, when trying to add pytest-timeout to troubleshoot a hanging test, I get the following output:
Traceback (most recent call last):
File "/opt/conda/lib/python3.6/site-packages/_pytest/main.py", line 203, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/opt/conda/lib/python3.6/site-packages/_pytest/main.py", line 243, in _main
config.hook.pytest_runtestloop(session=session)
File "/opt/conda/lib/python3.6/site-packages/pluggy/hooks.py", line 289, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/opt/conda/lib/python3.6/site-packages/pluggy/manager.py", line 87, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/opt/conda/lib/python3.6/site-packages/pluggy/manager.py", line 81, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/opt/conda/lib/python3.6/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/opt/conda/lib/python3.6/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/opt/conda/lib/python3.6/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/opt/conda/lib/python3.6/site-packages/_pytest/main.py", line 264, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/opt/conda/lib/python3.6/site-packages/pluggy/hooks.py", line 289, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/opt/conda/lib/python3.6/site-packages/pluggy/manager.py", line 87, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/opt/conda/lib/python3.6/site-packages/pluggy/manager.py", line 81, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/opt/conda/lib/python3.6/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/opt/conda/lib/python3.6/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/opt/conda/lib/python3.6/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/opt/conda/lib/python3.6/site-packages/pytest_forked/__init__.py", line 35, in pytest_runtest_protocol
reports = forked_run_report(item)
File "/opt/conda/lib/python3.6/site-packages/pytest_forked/__init__.py", line 56, in forked_run_report
result = ff.waitfinish()
File "/opt/conda/lib/python3.6/site-packages/py/_process/forkedfunc.py", line 82, in waitfinish
pid, systemstatus = waiter(self.pid, 0)
File "/opt/conda/lib/python3.6/site-packages/pytest_timeout.py", line 140, in handler
timeout_sigalrm(item, params.timeout)
File "/opt/conda/lib/python3.6/site-packages/pytest_timeout.py", line 313, in timeout_sigalrm
pytest.fail('Timeout >%ss' % timeout)
File "/opt/conda/lib/python3.6/site-packages/_pytest/outcomes.py", line 113, in fail
raise Failed(msg=msg, pytrace=pytrace)
Failed: Timeout >120.0s
Seems that the traceback includes only pytest-forked information.
Do you know if it's at all possible to get some traceback info from the wrapped test?
Thanks.
- 主要言語
- Python
- スター
- 83
- フォーク
- 29
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pytest-dev/pytest-forked のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
pytest-dev/pytest-forked#106 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
pytest-dev/pytest-forked#84 ·
-
Fork per subpath オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
pytest-dev/pytest-forked#94 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
pytest-dev/pytest-forked#88 · コメント 12 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
pytest-dev/pytest-forked#87 · リアクション 1 件 ·
pytest-dev/pytest-forked の issue をすべて見る
似ている issue
-
agent-ready documentation needs-triage
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" オープン
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
-
instance instance add
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
searxng/searx-instances#939 · コメント 1 件 ·
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100