##// END OF EJS Templates
Backport PR #2924: safe_run_module: Silence SystemExit codes 0 and None....
Backport PR #2924: safe_run_module: Silence SystemExit codes 0 and None. In `safe_execfile` we ignore SystemExit exceptions with codes 0 and 1. We don't do this for `safe_run_module` which leads to the following mismatch of tracebacks between Python and IPython: ``` $ cat > exit0.py import sys sys.exit(0) $ python -m exit0 $ ipython -m exit0 --------------------------------------------------------------------------- SystemExit Traceback (most recent call last) /usr/lib/python2.7/runpy.pyc in run_module(mod_name, init_globals, run_name, alter_sys) 174 if alter_sys: 175 return _run_module_code(code, init_globals, run_name, --> 176 fname, loader, pkg_name) 177 else: 178 # Leave the sys module alone /usr/lib/python2.7/runpy.pyc in _run_module_code(code, init_globals, mod_name, mod_fname, mod_loader, pkg_name) 80 mod_globals = temp_module.module.__dict__ 81 _run_code(code, mod_globals, init_globals, ---> 82 mod_name, mod_fname, mod_loader, pkg_name) 83 # Copy the globals of the temporary module, as they 84 # may be cleared when the temporary module goes away /usr/lib/python2.7/runpy.pyc in _run_code(code, run_globals, init_globals, mod_name, mod_fname, mod_loader, pkg_name) 70 __loader__ = mod_loader, 71 __package__ = pkg_name) ---> 72 exec code in run_globals 73 return run_globals 74 /tmp/exit0.py in <module>() 1 import sys ----> 2 sys.exit(0) SystemExit: 0 WARNING: Unknown failure executing module: <exit0> ``` The attached pull request silences SystemExit exceptions with codes 0 and None.
MinRK -
r9972:8ab632a4
Show More
Name Size Modified Last Commit Author
/ IPython / utils
tests
PyColorize.py Loading ...
__init__.py Loading ...
_process_common.py Loading ...
_process_posix.py Loading ...
_process_win32.py Loading ...
_process_win32_controller.py Loading ...
_sysinfo.py Loading ...
attic.py Loading ...
autoattr.py Loading ...
codeutil.py Loading ...
coloransi.py Loading ...
cursesimport.py Loading ...
daemonize.py Loading ...
data.py Loading ...
decorators.py Loading ...
dir2.py Loading ...
doctestreload.py Loading ...
encoding.py Loading ...
frame.py Loading ...
generics.py Loading ...
growl.py Loading ...
importstring.py Loading ...
io.py Loading ...
ipstruct.py Loading ...
jsonutil.py Loading ...
localinterfaces.py Loading ...
module_paths.py Loading ...
nested_context.py Loading ...
newserialized.py Loading ...
notification.py Loading ...
openpy.py Loading ...
path.py Loading ...
pickleshare.py Loading ...
pickleutil.py Loading ...
process.py Loading ...
py3compat.py Loading ...
pyfile.py Loading ...
rlineimpl.py Loading ...
strdispatch.py Loading ...
sysinfo.py Loading ...
syspathcontext.py Loading ...
tempdir.py Loading ...
terminal.py Loading ...
text.py Loading ...
timing.py Loading ...
traitlets.py Loading ...
upgradedir.py Loading ...
warn.py Loading ...
wildcard.py Loading ...