[Lldb-commits] [lldb] r261599 - Actually commit the test for r261598.

Sean Callanan via lldb-commits lldb-commits at lists.llvm.org
Mon Feb 22 16:52:35 PST 2016


Author: spyffe
Date: Mon Feb 22 18:52:34 2016
New Revision: 261599

URL: http://llvm.org/viewvc/llvm-project?rev=261599&view=rev
Log:
Actually commit the test for r261598.

Added:
    lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py
Modified:
    lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c

Added: lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py?rev=261599&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py Mon Feb 22 18:52:34 2016
@@ -0,0 +1,49 @@
+"""Test variable lookup when stopped in inline functions."""
+
+from __future__ import print_function
+
+import os, time
+import lldb
+from lldbsuite.test.lldbtest import *
+import lldbsuite.test.lldbutil as lldbutil
+
+class InlinesTestCase(TestBase):
+
+    mydir = TestBase.compute_mydir(__file__)
+
+    def setUp(self):
+        # Call super's setUp().
+        TestBase.setUp(self)
+        # Find the line number to break inside main().
+        self.line = line_number('inlines.c', '// Set break point at this line.')
+
+    def test(self):
+        """Test that local variables are visible in expressions."""
+        self.build()
+        self.runToBreakpoint()
+
+        # Check that 'frame variable' finds a variable
+        self.expect("frame variable inner_input", VARIABLES_DISPLAYED_CORRECTLY,
+            startstr = '(int) inner_input =')
+
+        # Check that 'expr' finds a variable
+        self.expect("expr inner_input", VARIABLES_DISPLAYED_CORRECTLY,
+            startstr = '(int) $0 =')
+
+    def runToBreakpoint(self):
+        exe = os.path.join(os.getcwd(), "a.out")
+        self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
+        
+        # Break inside the main.
+        lldbutil.run_break_set_by_file_and_line (self, "inlines.c", self.line, num_expected_locations=3, 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'])
+        
+        # The breakpoint should have a hit count of 1.
+        self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
+                    substrs = [' resolved, hit count = 1'])

Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c?rev=261599&r1=261598&r2=261599&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c Mon Feb 22 18:52:34 2016
@@ -23,7 +23,7 @@ inner_inline (int inner_input, int mod_v
   int inner_result;
   inner_result = inner_input % mod_value;
   printf ("Returning: %d.\n", inner_result);
-  return not_inlined_1 (inner_result);
+  return not_inlined_1 (inner_result); // Set break point at this line.
 }
 
 INLINE_ME int




More information about the lldb-commits mailing list