Commit b3028ebb authored by Mark Florisson's avatar Mark Florisson

Debugger: made test less verbose (#645)

parent 18c69b1c
...@@ -49,7 +49,7 @@ def test_gdb(): ...@@ -49,7 +49,7 @@ def test_gdb():
# Based on Lib/test/test_gdb.py # Based on Lib/test/test_gdb.py
regex = "^GNU gdb [^\d]*(\d+)\.(\d+)" regex = "^GNU gdb [^\d]*(\d+)\.(\d+)"
gdb_version_number = list(map(int, re.search(regex, gdb_version).groups())) gdb_version_number = list(map(int, re.search(regex, gdb_version).groups()))
if gdb_version_number >= [7, 2]: if gdb_version_number >= [7, 2]:
python_version_script = tempfile.NamedTemporaryFile(mode='w+') python_version_script = tempfile.NamedTemporaryFile(mode='w+')
python_version_script.write( python_version_script.write(
...@@ -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,25 +113,34 @@ class DebuggerTestCase(unittest.TestCase): ...@@ -114,25 +113,34 @@ class DebuggerTestCase(unittest.TestCase):
**opts **opts
) )
cython_compile_testcase.run_cython(
targetdir=self.tempdir,
incdir=None,
annotate=False,
extra_compile_options={
'gdb_debug':True,
'output_dir':self.tempdir,
},
**opts
)
cython_compile_testcase.run_distutils( new_stderr = open(os.devnull, 'w')
incdir=None,
workdir=self.tempdir,
extra_extension_args={'extra_objects':['cfuncs.o']},
**opts
)
optimization_disabler.restore_state() stderr = sys.stderr
sys.stderr = new_stderr
optimization_disabler.disable_optimization()
try:
cython_compile_testcase.run_cython(
targetdir=self.tempdir,
incdir=None,
annotate=False,
extra_compile_options={
'gdb_debug':True,
'output_dir':self.tempdir,
},
**opts
)
cython_compile_testcase.run_distutils(
incdir=None,
workdir=self.tempdir,
extra_extension_args={'extra_objects':['cfuncs.o']},
**opts
)
finally:
optimization_disabler.restore_state()
sys.stderr = stderr
# ext = Cython.Distutils.extension.Extension( # ext = Cython.Distutils.extension.Extension(
# 'codefile', # 'codefile',
...@@ -226,7 +234,7 @@ class GdbDebuggerTestCase(DebuggerTestCase): ...@@ -226,7 +234,7 @@ class GdbDebuggerTestCase(DebuggerTestCase):
# Based on Lib/test/test_gdb.py # Based on Lib/test/test_gdb.py
regex = "^GNU gdb [^\d]*(\d+)\.(\d+)" regex = "^GNU gdb [^\d]*(\d+)\.(\d+)"
gdb_version_number = list(map(int, re.search(regex, gdb_version).groups())) gdb_version_number = list(map(int, re.search(regex, gdb_version).groups()))
if gdb_version_number >= [7, 2]: if gdb_version_number >= [7, 2]:
python_version_script = tempfile.NamedTemporaryFile(mode='w+') python_version_script = tempfile.NamedTemporaryFile(mode='w+')
python_version_script.write( python_version_script.write(
...@@ -238,7 +246,7 @@ class GdbDebuggerTestCase(DebuggerTestCase): ...@@ -238,7 +246,7 @@ class GdbDebuggerTestCase(DebuggerTestCase):
p.wait() p.wait()
python_version_number = list(map(int, python_version.split())) python_version_number = list(map(int, python_version.split()))
# Be Python 3 compatible # Be Python 3 compatible
if (not have_gdb if (not have_gdb
or gdb_version_number < [7, 2] or gdb_version_number < [7, 2]
...@@ -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')
border = '*' * 30
start = '%s v INSIDE GDB v %s' % (border, border) exit_status = self.p.wait()
end = '%s ^ INSIDE GDB ^ %s' % (border, border)
errmsg = '\n%s\n%s%s' % (start, err, end) if exit_status == 1:
self.assertEquals(0, self.p.wait(), errmsg) sys.stderr.write(err)
sys.stderr.write(err) elif exit_status >= 2:
border = '*' * 30
start = '%s v INSIDE GDB v %s' % (border, border)
end = '%s ^ INSIDE GDB ^ %s' % (border, border)
errmsg = '\n%s\n%s%s' % (start, err, end)
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