Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Test skipped on Linux

未關閉
#503 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 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

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

ipython/ipykernel 的其他 Issue

查看 ipython/ipykernel 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。