From ecbe7c03a03bcb04b0a2fb185d331b6b6f404322 Mon Sep 17 00:00:00 2001 From: Enrico Granata Date: Thu, 23 Oct 2014 21:35:18 +0000 Subject: [PATCH] This test case should not rely on stepping behavior because that might chance due to inlining. Set breakpoints where you want them instead. Fixes rdar://18724175 llvm-svn: 220513 --- .../type_completion/TestTypeCompletion.py | 16 +++++----------- lldb/test/functionalities/type_completion/main.cpp | 4 ++-- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/lldb/test/functionalities/type_completion/TestTypeCompletion.py b/lldb/test/functionalities/type_completion/TestTypeCompletion.py index cdc637e..eddb6cd 100644 --- a/lldb/test/functionalities/type_completion/TestTypeCompletion.py +++ b/lldb/test/functionalities/type_completion/TestTypeCompletion.py @@ -30,14 +30,12 @@ class TypeCompletionTestCase(TestBase): 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.') def type_completion_commands(self): """Check that types only get completed when necessary.""" 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) + lldbutil.run_break_set_by_source_regexp (self, "// Set break point at this line.") self.runCmd("run", RUN_SUCCEEDED) @@ -62,15 +60,13 @@ class TypeCompletionTestCase(TestBase): p_type = p_vector.GetType() self.assertFalse(p_type.IsTypeComplete(), 'vector complete but it should not be') - self.runCmd("next") - self.runCmd("next") + self.runCmd("continue") p_vector = self.dbg.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame().FindVariable('p') p_type = p_vector.GetType() self.assertFalse(p_type.IsTypeComplete(), 'vector complete but it should not be') - self.runCmd("next") - self.runCmd("next") + self.runCmd("continue") self.runCmd("frame variable p --show-types") @@ -81,8 +77,7 @@ class TypeCompletionTestCase(TestBase): self.assertTrue(name_address_type.IsValid(), 'NameAndAddress should be valid') self.assertFalse(name_address_type.IsTypeComplete(), 'NameAndAddress complete but it should not be') - self.runCmd("next") - self.runCmd("next") + self.runCmd("continue") self.runCmd("frame variable guy --show-types") @@ -102,8 +97,7 @@ class TypeCompletionTestCase(TestBase): self.assertTrue(string.IsValid(), 'std::string should be valid') self.assertFalse(string.IsTypeComplete(), 'std::string complete but it should not be') - self.runCmd("next") - self.runCmd("next") + self.runCmd("continue") p_vector = self.dbg.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame().FindVariable('p') p_type = p_vector.GetType() diff --git a/lldb/test/functionalities/type_completion/main.cpp b/lldb/test/functionalities/type_completion/main.cpp index 33ff3b0..c863ec5 100644 --- a/lldb/test/functionalities/type_completion/main.cpp +++ b/lldb/test/functionalities/type_completion/main.cpp @@ -36,14 +36,14 @@ int main (int argc, const char * argv[]) p.push_back(NameAndAddress("Enrico","123 Main Street")); p.push_back(NameAndAddress("Foo","10710 Johnson Avenue")); // Set break point at this line. p.push_back(NameAndAddress("Arpia","6956 Florey Street")); - p.push_back(NameAndAddress("Apple","1 Infinite Loop")); + p.push_back(NameAndAddress("Apple","1 Infinite Loop")); // Set break point at this line. p.push_back(NameAndAddress("Richard","9500 Gilman Drive")); p.push_back(NameAndAddress("Bar","3213 Windsor Rd")); for (int j = 0; j