Fix TestBreakpointInGlobalConstructor for Windows

Summary:
This test was failing on Windows because it expected the breakpoint in the
dynamic library to be resolved before the process is launched.  Since the DLL
isn't loaded until the process is launched this didn't work.

The fix creates a special value (-2) for num_expected_locations that ignores
the actual number of breakpoint locations found.

Reviewers: jasonmolenda

Subscribers: sanjoy, lldb-commits

Differential Revision: https://reviews.llvm.org/D43419

llvm-svn: 325704
This commit is contained in:
Adrian McCarthy 2018-02-21 18:08:23 +00:00
parent 6b287234ea
commit 25727a458c
2 changed files with 5 additions and 3 deletions

View File

@ -29,8 +29,9 @@ class TestBreakpointInGlobalConstructors(TestBase):
bp_main = lldbutil.run_break_set_by_file_and_line(
self, 'main.cpp', self.line_main)
bp_foo = lldbutil.run_break_set_by_file_and_line(
self, 'foo.cpp', self.line_foo)
self, 'foo.cpp', self.line_foo, num_expected_locations=-2)
process = target.LaunchSimple(
None, env, self.get_process_working_directory())

View File

@ -343,7 +343,8 @@ def run_break_set_by_file_and_line(
If extra_options is not None, then we append it to the breakpoint set command.
If num_expected_locations is -1 we check that we got AT LEAST one location, otherwise we check that num_expected_locations equals the number of locations.
If num_expected_locations is -1, we check that we got AT LEAST one location. If num_expected_locations is -2, we don't
check the actual number at all. Otherwise, we check that num_expected_locations equals the number of locations.
If loc_exact is true, we check that there is one location, and that location must be at the input file and line number."""
@ -563,7 +564,7 @@ def check_breakpoint_result(
if num_locations == -1:
test.assertTrue(out_num_locations > 0,
"Expecting one or more locations, got none.")
else:
elif num_locations != -2:
test.assertTrue(
num_locations == out_num_locations,
"Expecting %d locations, got %d." %