[pypy-commit] pypy py3.3: Add faulthandler._fatal_error()
amauryfa
noreply at buildbot.pypy.org
Mon Dec 29 21:28:31 CET 2014
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: py3.3
Changeset: r75140:45ae7aa92dd8
Date: 2014-12-21 10:15 +0100
http://bitbucket.org/pypy/pypy/changeset/45ae7aa92dd8/
Log: Add faulthandler._fatal_error()
diff --git a/pypy/module/faulthandler/__init__.py b/pypy/module/faulthandler/__init__.py
--- a/pypy/module/faulthandler/__init__.py
+++ b/pypy/module/faulthandler/__init__.py
@@ -18,4 +18,5 @@
'_sigabrt': 'interp_faulthandler.sigabrt',
'_sigbus': 'interp_faulthandler.sigbus',
'_sigill': 'interp_faulthandler.sigill',
+ '_fatal_error': 'interp_faulthandler.fatal_error',
}
diff --git a/pypy/module/faulthandler/interp_faulthandler.py b/pypy/module/faulthandler/interp_faulthandler.py
--- a/pypy/module/faulthandler/interp_faulthandler.py
+++ b/pypy/module/faulthandler/interp_faulthandler.py
@@ -119,3 +119,9 @@
def sigill():
pypy_faulthandler_sigill()
+
+ at unwrap_spec(msg=str)
+def fatal_error(space, msg):
+ os.write(2, "Fatal Python error: %s\n" % msg);
+ dump_traceback(space, space.wrap(None), space.wrap(True))
+ raise RuntimeError(msg)
diff --git a/pypy/module/faulthandler/test/test_faulthander.py b/pypy/module/faulthandler/test/test_faulthander.py
--- a/pypy/module/faulthandler/test/test_faulthander.py
+++ b/pypy/module/faulthandler/test/test_faulthander.py
@@ -1,3 +1,9 @@
+from pypy.module.faulthandler import interp_faulthandler
+
+class TestFaultHandler:
+ def test_fatal_error(self, space):
+ raises(RuntimeError, interp_faulthandler.fatal_error, space, "Message")
+
class AppTestFaultHandler:
spaceconfig = {
"usemodules": ["faulthandler"]
More information about the pypy-commit
mailing list