diff options
| author | Zachary Turner <zturner@google.com> | 2015-10-28 17:43:26 +0000 |
|---|---|---|
| committer | Zachary Turner <zturner@google.com> | 2015-10-28 17:43:26 +0000 |
| commit | c432c8f856e0bd84de980a9d9bb2d31b06fa95b1 (patch) | |
| tree | 4efa528e074a6e2df782345e4cd97f5d85d038c4 /lldb/test/lang/cpp/class_static/TestStaticVariables.py | |
| parent | a8a3bd210086b50242903ed95048fe5e53897878 (diff) | |
| download | bcm5719-llvm-c432c8f856e0bd84de980a9d9bb2d31b06fa95b1.tar.gz bcm5719-llvm-c432c8f856e0bd84de980a9d9bb2d31b06fa95b1.zip | |
Move lldb/test to lldb/packages/Python/lldbsuite/test.
This is the conclusion of an effort to get LLDB's Python code
structured into a bona-fide Python package. This has a number
of benefits, but most notably the ability to more easily share
Python code between different but related pieces of LLDB's Python
infrastructure (for example, `scripts` can now share code with
`test`).
llvm-svn: 251532
Diffstat (limited to 'lldb/test/lang/cpp/class_static/TestStaticVariables.py')
| -rw-r--r-- | lldb/test/lang/cpp/class_static/TestStaticVariables.py | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/lldb/test/lang/cpp/class_static/TestStaticVariables.py b/lldb/test/lang/cpp/class_static/TestStaticVariables.py deleted file mode 100644 index 6d88585e453..00000000000 --- a/lldb/test/lang/cpp/class_static/TestStaticVariables.py +++ /dev/null @@ -1,120 +0,0 @@ -""" -Test display and Python APIs on file and class static variables. -""" - -from __future__ import print_function - -import use_lldb_suite - -import os, time -import lldb -from lldbtest import * -import lldbutil - -class StaticVariableTestCase(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - # Call super's setUp(). - TestBase.setUp(self) - # Find the line number to break at. - self.line = line_number('main.cpp', '// Set break point at this line.') - - @expectedFailureWindows("llvm.org/pr24764") - def test_with_run_command(self): - """Test that file and class static variables display correctly.""" - self.build() - self.runCmd("file a.out", CURRENT_EXECUTABLE_SET) - - lldbutil.run_break_set_by_file_and_line (self, "main.cpp", self.line, num_expected_locations=1, loc_exact=True) - - self.runCmd("run", RUN_SUCCEEDED) - - # The stop reason of the thread should be breakpoint. - self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT, - substrs = ['stopped', - 'stop reason = breakpoint']) - - # global variables are no longer displayed with the "frame variable" command. - self.expect('target variable A::g_points', VARIABLES_DISPLAYED_CORRECTLY, - patterns=['\(PointType \[[1-9]*\]\) A::g_points = {.*}']) - self.expect('target variable g_points', VARIABLES_DISPLAYED_CORRECTLY, - substrs = ['(PointType [2]) g_points']) - - # On Mac OS X, gcc 4.2 emits the wrong debug info for A::g_points. - # A::g_points is an array of two elements. - if self.platformIsDarwin() or self.getPlatform() == "linux": - self.expect("target variable A::g_points[1].x", VARIABLES_DISPLAYED_CORRECTLY, - startstr = "(int) A::g_points[1].x = 11") - - @expectedFailureDarwin(9980907) - @expectedFailureClang('Clang emits incomplete debug info.') - @expectedFailureFreeBSD('llvm.org/pr20550 failing on FreeBSD-11') - @expectedFailureGcc('GCC emits incomplete debug info.') - @add_test_categories(['pyapi']) - def test_with_python_api(self): - """Test Python APIs on file and class static variables.""" - self.build() - exe = os.path.join(os.getcwd(), "a.out") - - target = self.dbg.CreateTarget(exe) - self.assertTrue(target, VALID_TARGET) - - breakpoint = target.BreakpointCreateByLocation("main.cpp", self.line) - self.assertTrue(breakpoint, VALID_BREAKPOINT) - - # Now launch the process, and do not stop at entry point. - process = target.LaunchSimple (None, None, self.get_process_working_directory()) - self.assertTrue(process, PROCESS_IS_VALID) - - # The stop reason of the thread should be breakpoint. - thread = process.GetThreadAtIndex(0) - if thread.GetStopReason() != lldb.eStopReasonBreakpoint: - from lldbutil import stop_reason_to_str - self.fail(STOPPED_DUE_TO_BREAKPOINT_WITH_STOP_REASON_AS % - stop_reason_to_str(thread.GetStopReason())) - - # Get the SBValue of 'A::g_points' and 'g_points'. - frame = thread.GetFrameAtIndex(0) - - # arguments => False - # locals => False - # statics => True - # in_scope_only => False - valList = frame.GetVariables(False, False, True, False) - - for val in valList: - self.DebugSBValue(val) - name = val.GetName() - self.assertTrue(name in ['g_points', 'A::g_points']) - if name == 'g_points': - self.assertTrue(val.GetValueType() == lldb.eValueTypeVariableStatic) - self.assertTrue(val.GetNumChildren() == 2) - elif name == 'A::g_points': - self.assertTrue(val.GetValueType() == lldb.eValueTypeVariableGlobal) - self.assertTrue(val.GetNumChildren() == 2) - child1 = val.GetChildAtIndex(1) - self.DebugSBValue(child1) - child1_x = child1.GetChildAtIndex(0) - self.DebugSBValue(child1_x) - self.assertTrue(child1_x.GetTypeName() == 'int' and - child1_x.GetValue() == '11') - - # SBFrame.FindValue() should also work. - val = frame.FindValue("A::g_points", lldb.eValueTypeVariableGlobal) - self.DebugSBValue(val) - self.assertTrue(val.GetName() == 'A::g_points') - - # Also exercise the "parameter" and "local" scopes while we are at it. - val = frame.FindValue("argc", lldb.eValueTypeVariableArgument) - self.DebugSBValue(val) - self.assertTrue(val.GetName() == 'argc') - - val = frame.FindValue("argv", lldb.eValueTypeVariableArgument) - self.DebugSBValue(val) - self.assertTrue(val.GetName() == 'argv') - - val = frame.FindValue("hello_world", lldb.eValueTypeVariableLocal) - self.DebugSBValue(val) - self.assertTrue(val.GetName() == 'hello_world') |

