Test skipped on Linux
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 30/100
- Issue 類型
- 缺陷
- 描述清晰度
- 需要釐清
- 活躍度
- 停滯
- 技術堆疊
- python
- 領域
- testing-qa
研究方向
從 ipykernel/tests/test_kernel.py 和 test_complete 函式開始,然後在 Linux 上重現該失敗。透過 traceback 中的 IPython/core/completer.py 路徑以及 Jedi 的參數描述格式,追蹤補全請求;完成的標準是該測試不再需要跳過,並且能在沒有 ValueError 的情況下收到補全回應。
由索引模型根據 Issue 內容生成。
描述
The test_complete function was failing on Travis in master with:
def test_complete():
with kernel() as kc:
execute(u'a = 1', kc=kc)
wait_for_idle(kc)
cell = 'import IPython\nb = a.'
kc.complete(cell)
> reply = kc.get_shell_msg(block=True, timeout=TIMEOUT)
ipykernel/tests/test_kernel.py:265:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../virtualenv/python3.6.7/lib/python3.6/site-packages/jupyter_client/client.py:78: in get_shell_msg
return self.shell_channel.get_msg(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <jupyter_client.blocking.channels.ZMQSocketChannel object at 0x7f3c1ededb70>
block = True, timeout = 15000
def get_msg(self, block=True, timeout=None):
""" Gets a message if there is one that is ready. """
if block:
if timeout is not None:
timeout *= 1000 # seconds to ms
ready = self.socket.poll(timeout)
else:
ready = self.socket.poll(timeout=0)
if ready:
return self._recv()
else:
> raise Empty
E queue.Empty
../../../virtualenv/python3.6.7/lib/python3.6/site-packages/jupyter_client/blocking/channels.py:57: Empty
----------------------------- Captured stdout call -----------------------------
[IPKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
yield gen.maybe_future(handler(stream, idents, msg))
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/tornado/gen.py", line 735, in run
value = future.result()
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/tornado/gen.py", line 209, in wrapper
yielded = next(result)
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 583, in complete_request
matches = yield gen.maybe_future(self.do_complete(code, cursor_pos))
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/ipykernel/ipkernel.py", line 354, in do_complete
return self._experimental_do_complete(code, cursor_pos)
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/ipykernel/ipkernel.py", line 379, in _experimental_do_complete
completions = list(_rectify_completions(code, raw_completions))
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/IPython/core/completer.py", line 484, in rectify_completions
completions = list(completions)
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/IPython/core/completer.py", line 1820, in completions
for c in self._completions(text, offset, _timeout=self.jedi_compute_type_timeout/1000):
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/IPython/core/completer.py", line 1877, in _completions
signature = _make_signature(jm)
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/IPython/core/completer.py", line 991, in _make_signature
return '(%s)'% ', '.join([f for f in (_formatparamchildren(p) for signature in completion.get_signatures()
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/IPython/core/completer.py", line 991, in <listcomp>
return '(%s)'% ', '.join([f for f in (_formatparamchildren(p) for signature in completion.get_signatures()
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/IPython/core/completer.py", line 992, in <genexpr>
for p in signature.defined_names()) if f])
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/IPython/core/completer.py", line 969, in _formatparamchildren
'Expected "param ...", found %r".' % description)
ValueError: Jedi function parameter description have change format.Expected "param ...", found 'def __sizeof__'".
We are skipping the test on Linux in #500 because we couldn't find a way to fix the test.
- 主要語言
- Python
- 星號
- 734
- 分支
- 411
- 平均合併
- 1 天 2 小時
- 30 天內合併 PR
- 9
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
ipython/ipykernel 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 1/5 1 小時以內 新手友好度 72/100
-
難度 4/5 3-5 天 新手友好度 48/100
-
難度 4/5 3-5 天 新手友好度 68/100
查看 ipython/ipykernel 的全部 Issue
相似的 Issue
-
bug
難度 2/5 1-3 小時 新手友好度 75/100
xinnan-tech/xiaozhi-fde-talk#263 ·
-
rules
難度 1/5 1 小時以內 新手友好度 90/100
-
難度 2/5 1-3 小時 新手友好度 70/100
huggingface/Repo2RLEnv#163 · 1 則留言 ·
-
難度 1/5 1 小時以內 新手友好度 95/100
huggingface/sentence-transformers#4074 ·
-
comp/dashboard invalid P3
難度 2/5 1-3 小時 新手友好度 70/100
NousResearch/hermes-agent#121143 ·