##// END OF EJS Templates
Backport PR #5782: Silence exception thrown by completer when dir() does not return a list...
Backport PR #5782: Silence exception thrown by completer when dir() does not return a list ```python In [1]: import SOAPpy In [2]: s = SOAPpy.SOAPProxy('http://abc.com', namespace='xyz') In [3]: s.Traceback (most recent call last): File "IPython/core/completer.py", line 1043, in complete self.matches.extend(matcher(text)) File "IPython/core/completer.py", line 725, in python_matches matches = self.attr_matches(text) File "IPython/core/completer.py", line 403, in attr_matches words = dir2(obj) File "IPython/utils/dir2.py", line 63, in dir2 words = set(dir(obj)) TypeError: __dir__() must return a list, not instance If you suspect this is an IPython bug, please report it at: https://github.com/ipython/ipython/issues or send an email to the mailing list at ipython-dev@scipy.org You can print a more detailed traceback right now with "%tb", or use "%debug" to interactively debug it. Extra-detailed tracebacks for bug-reporting purposes can be enabled via: %config Application.verbose_crash=True File "<ipython-input-3-fbb1f01da851>", line 1 s. ^ SyntaxError: invalid syntax In [4]: dir(s) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-4-9d6ad02bd404> in <module>() ----> 1 dir(s) TypeError: __dir__() must return a list, not instance In [5]: s.__dir__() Out[5]: <SOAPpy.Client.__Method at 150204780> In [6]: ```

File last commit:

r14863:7fe6d5a9
r16678:86364d02
Show More
test_help.py
40 lines | 1.2 KiB | text/x-python | PythonLexer
"""Test help output of various IPython entry points"""
#-----------------------------------------------------------------------------
# Copyright (C) 2013 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import IPython.testing.tools as tt
#-----------------------------------------------------------------------------
# Tests
#-----------------------------------------------------------------------------
def test_ipython_help():
tt.help_all_output_test()
def test_profile_help():
tt.help_all_output_test("profile")
def test_profile_list_help():
tt.help_all_output_test("profile list")
def test_profile_create_help():
tt.help_all_output_test("profile create")
def test_locate_help():
tt.help_all_output_test("locate")
def test_locate_profile_help():
tt.help_all_output_test("locate profile")
def test_trust_help():
tt.help_all_output_test("trust")