Commit 6a85d21e authored by Mark Florisson's avatar Mark Florisson Committed by Robert Bradshaw

Debugger: made test less verbose (#645)

parent bbfefeb1
...@@ -105,7 +105,6 @@ class DebuggerTestCase(unittest.TestCase): ...@@ -105,7 +105,6 @@ class DebuggerTestCase(unittest.TestCase):
) )
optimization_disabler = build_ext.Optimization() optimization_disabler = build_ext.Optimization()
optimization_disabler.disable_optimization()
cython_compile_testcase = runtests.CythonCompileTestCase( cython_compile_testcase = runtests.CythonCompileTestCase(
workdir=self.tempdir, workdir=self.tempdir,
...@@ -114,6 +113,14 @@ class DebuggerTestCase(unittest.TestCase): ...@@ -114,6 +113,14 @@ class DebuggerTestCase(unittest.TestCase):
**opts **opts
) )
new_stderr = open(os.devnull, 'w')
stderr = sys.stderr
sys.stderr = new_stderr
optimization_disabler.disable_optimization()
try:
cython_compile_testcase.run_cython( cython_compile_testcase.run_cython(
targetdir=self.tempdir, targetdir=self.tempdir,
incdir=None, incdir=None,
...@@ -131,8 +138,9 @@ class DebuggerTestCase(unittest.TestCase): ...@@ -131,8 +138,9 @@ class DebuggerTestCase(unittest.TestCase):
extra_extension_args={'extra_objects':['cfuncs.o']}, extra_extension_args={'extra_objects':['cfuncs.o']},
**opts **opts
) )
finally:
optimization_disabler.restore_state() optimization_disabler.restore_state()
sys.stderr = stderr
# ext = Cython.Distutils.extension.Extension( # ext = Cython.Distutils.extension.Extension(
# 'codefile', # 'codefile',
...@@ -272,12 +280,19 @@ class TestAll(GdbDebuggerTestCase): ...@@ -272,12 +280,19 @@ class TestAll(GdbDebuggerTestCase):
out, err = self.p.communicate() out, err = self.p.communicate()
err = err.decode('UTF-8') err = err.decode('UTF-8')
exit_status = self.p.wait()
if exit_status == 1:
sys.stderr.write(err)
elif exit_status >= 2:
border = '*' * 30 border = '*' * 30
start = '%s v INSIDE GDB v %s' % (border, border) start = '%s v INSIDE GDB v %s' % (border, border)
end = '%s ^ INSIDE GDB ^ %s' % (border, border) end = '%s ^ INSIDE GDB ^ %s' % (border, border)
errmsg = '\n%s\n%s%s' % (start, err, end) errmsg = '\n%s\n%s%s' % (start, err, end)
self.assertEquals(0, self.p.wait(), errmsg)
sys.stderr.write(err) sys.stderr.write(errmsg)
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
...@@ -428,7 +428,7 @@ def run_unittest_in_module(modulename): ...@@ -428,7 +428,7 @@ def run_unittest_in_module(modulename):
"debugging information. Either compile python with " "debugging information. Either compile python with "
"-g or get a debug build (configure with --with-pydebug).") "-g or get a debug build (configure with --with-pydebug).")
warnings.warn(msg) warnings.warn(msg)
os._exit(0) os._exit(1)
else: else:
m = __import__(modulename, fromlist=['']) m = __import__(modulename, fromlist=[''])
tests = inspect.getmembers(m, inspect.isclass) tests = inspect.getmembers(m, inspect.isclass)
...@@ -453,7 +453,7 @@ def runtests(): ...@@ -453,7 +453,7 @@ def runtests():
success_libpython = run_unittest_in_module(test_libpython_in_gdb.__name__) success_libpython = run_unittest_in_module(test_libpython_in_gdb.__name__)
if not success_libcython or not success_libpython: if not success_libcython or not success_libpython:
sys.exit(1) sys.exit(2)
def main(version, trace_code=False): def main(version, trace_code=False):
global inferior_python_version global inferior_python_version
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment