mvadkert / rpms / python2.7

Forked from rpms/python2.7 3 years ago
Clone
Blob Blame History Raw
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Fedora Python maintainers <python-devel@lists.fedoraproject.org>
Date: Wed, 15 Jul 2020 15:40:37 +0200
Subject: [PATCH] 
 00167-disable-stack-navigation-tests-when-optimized-in-test_gdb.patch

00167 #
Don't run any of the stack navigation tests in test_gdb when Python is
optimized, since there appear to be many different ways in which gdb can
fail to read the PyFrameObject* for arbitrary places in the callstack,
presumably due to compiler optimization (rhbz#912025)

Not yet sent upstream
---
 Lib/test/test_gdb.py | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py
index 360bad18465..b2bbe779e81 100644
--- a/Lib/test/test_gdb.py
+++ b/Lib/test/test_gdb.py
@@ -728,11 +728,10 @@ class PyListTests(DebuggerTests):
                            '   2    \n'
                            '   3    def foo(a, b, c):\n',
                            bt)
-
+@unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
+@unittest.skipIf(python_is_optimized(),
+                "Python was compiled with optimizations")
 class StackNavigationTests(DebuggerTests):
-    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
-    @unittest.skipIf(python_is_optimized(),
-                     "Python was compiled with optimizations")
     def test_pyup_command(self):
         'Verify that the "py-up" command works'
         bt = self.get_stack_trace(script=self.get_sample_script(),
@@ -743,7 +742,6 @@ class StackNavigationTests(DebuggerTests):
     baz\(a, b, c\)
 $''')
 
-    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
     def test_down_at_bottom(self):
         'Verify handling of "py-down" at the bottom of the stack'
         bt = self.get_stack_trace(script=self.get_sample_script(),
@@ -751,9 +749,6 @@ $''')
         self.assertEndsWith(bt,
                             'Unable to find a newer python frame\n')
 
-    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
-    @unittest.skipIf(python_is_optimized(),
-                     "Python was compiled with optimizations")
     def test_up_at_top(self):
         'Verify handling of "py-up" at the top of the stack'
         bt = self.get_stack_trace(script=self.get_sample_script(),
@@ -761,9 +756,6 @@ $''')
         self.assertEndsWith(bt,
                             'Unable to find an older python frame\n')
 
-    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
-    @unittest.skipIf(python_is_optimized(),
-                     "Python was compiled with optimizations")
     def test_up_then_down(self):
         'Verify "py-up" followed by "py-down"'
         bt = self.get_stack_trace(script=self.get_sample_script(),