Test skipped on Linux
まだ誰も着手していません。
評価
- 難易度
- 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時間
- マージ済み PR(30日)
- 9
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ipython/ipykernel のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 66/100
ipython/ipykernel の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
learningequality/ricecooker#747 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
run-llama/llama_index#23199 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
KhronosGroup/glTF-Blender-IO#2769 ·