diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/linux/compressed-debug-info/TestCompressedDebugInfo.py')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/linux/compressed-debug-info/TestCompressedDebugInfo.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/linux/compressed-debug-info/TestCompressedDebugInfo.py b/lldb/packages/Python/lldbsuite/test/linux/compressed-debug-info/TestCompressedDebugInfo.py new file mode 100644 index 00000000000..f82a2e290a2 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/linux/compressed-debug-info/TestCompressedDebugInfo.py @@ -0,0 +1,46 @@ +""" Tests that compressed debug info sections are used. """ +import os +import lldb +import sys +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class TestCompressedDebugInfo(TestBase): + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + @no_debug_info_test # Prevent the genaration of the dwarf version of this test + @skipUnlessPlatform(["linux"]) + def test_compressed_debug_info(self): + """Tests that the 'frame variable' works with compressed debug info.""" + + self.build() + process = lldbutil.run_to_source_breakpoint( + self, "main", lldb.SBFileSpec("a.c"), exe_name="compressed.out")[1] + + # The process should be stopped at a breakpoint, and the z variable should + # be in the top frame. + self.assertTrue(process.GetState() == lldb.eStateStopped, + STOPPED_DUE_TO_BREAKPOINT) + frame = process.GetThreadAtIndex(0).GetFrameAtIndex(0) + self.assertTrue(frame.FindVariable("z").IsValid(), "z is not valid") + + @no_debug_info_test # Prevent the genaration of the dwarf version of this test + @skipUnlessPlatform(["linux"]) + def test_compressed_debug_info_gnu(self): + """Tests that the 'frame variable' works with gnu-style compressed debug info.""" + + self.build() + process = lldbutil.run_to_source_breakpoint( + self, "main", lldb.SBFileSpec("a.c"), exe_name="compressed.gnu.out")[1] + + # The process should be stopped at a breakpoint, and the z variable should + # be in the top frame. + self.assertTrue(process.GetState() == lldb.eStateStopped, + STOPPED_DUE_TO_BREAKPOINT) + frame = process.GetThreadAtIndex(0).GetFrameAtIndex(0) + self.assertTrue(frame.FindVariable("z").IsValid(), "z is not valid") |