55import re
66
77import lldbdap_testcase
8- import dap_server
9- from lldbsuite .test import lldbutil
10- from lldbsuite .test .decorators import *
11- from lldbsuite .test .lldbtest import *
8+ from lldbsuite .test .decorators import skipIfWindows
9+ from lldbsuite .test .lldbtest import line_number
1210
1311
1412class TestDAP_evaluate (lldbdap_testcase .DAPTestCaseBase ):
@@ -45,20 +43,34 @@ def run_test_evaluate_expressions(
4543 enableAutoVariableSummaries = enableAutoVariableSummaries ,
4644 )
4745 source = "main.cpp"
48- self .set_source_breakpoints (
49- source ,
50- [
51- line_number (source , "// breakpoint 1" ),
52- line_number (source , "// breakpoint 2" ),
53- line_number (source , "// breakpoint 3" ),
54- line_number (source , "// breakpoint 4" ),
55- line_number (source , "// breakpoint 5" ),
56- line_number (source , "// breakpoint 6" ),
57- line_number (source , "// breakpoint 7" ),
58- line_number (source , "// breakpoint 8" ),
59- ],
46+ breakpoint_lines = [
47+ line_number (source , "// breakpoint 1" ),
48+ line_number (source , "// breakpoint 2" ),
49+ line_number (source , "// breakpoint 3" ),
50+ line_number (source , "// breakpoint 4" ),
51+ line_number (source , "// breakpoint 5" ),
52+ line_number (source , "// breakpoint 6" ),
53+ line_number (source , "// breakpoint 7" ),
54+ line_number (source , "// breakpoint 8" ),
55+ ]
56+ breakpoint_ids = self .set_source_breakpoints (source , breakpoint_lines )
57+
58+ self .assertEqual (
59+ len (breakpoint_ids ),
60+ len (breakpoint_lines ),
61+ "Did not resolve all the breakpoints." ,
6062 )
61- self .continue_to_next_stop ()
63+ (
64+ breakpoint_1 ,
65+ breakpoint_2 ,
66+ breakpoint_3 ,
67+ breakpoint_4 ,
68+ breakpoint_5 ,
69+ breakpoint_6 ,
70+ breakpoint_7 ,
71+ breakpoint_8 ,
72+ ) = breakpoint_ids
73+ self .continue_to_breakpoint (breakpoint_1 )
6274
6375 # Expressions at breakpoint 1, which is in main
6476 self .assertEvaluate ("var1" , "20" )
@@ -124,7 +136,7 @@ def run_test_evaluate_expressions(
124136 self .assertEvaluateFailure ("foo_var" )
125137
126138 # Expressions at breakpoint 2, which is an anonymous block
127- self .continue_to_next_stop ( )
139+ self .continue_to_breakpoint ( breakpoint_2 )
128140 self .assertEvaluate ("var1" , "20" )
129141 self .assertEvaluate ("var2" , "2" ) # different variable with the same name
130142 self .assertEvaluate ("static_int" , "42" )
@@ -162,7 +174,7 @@ def run_test_evaluate_expressions(
162174 self .assertEvaluateFailure ("foo_var" )
163175
164176 # Expressions at breakpoint 3, which is inside a_function
165- self .continue_to_next_stop ( )
177+ self .continue_to_breakpoint ( breakpoint_3 )
166178 self .assertEvaluate ("list" , "42" )
167179 self .assertEvaluate ("static_int" , "42" )
168180 self .assertEvaluate ("non_static_int" , "43" )
@@ -188,28 +200,30 @@ def run_test_evaluate_expressions(
188200 self .assertEvaluateFailure ("foo_var" )
189201
190202 # Now we check that values are updated after stepping
191- self .continue_to_next_stop ( )
203+ self .continue_to_breakpoint ( breakpoint_4 )
192204 self .assertEvaluate ("my_vec" , "size=2" )
193- self .continue_to_next_stop ( )
205+ self .continue_to_breakpoint ( breakpoint_5 )
194206 self .assertEvaluate ("my_vec" , "size=3" )
195207
196208 self .assertEvaluate ("my_map" , "size=2" )
197- self .continue_to_next_stop ( )
209+ self .continue_to_breakpoint ( breakpoint_6 )
198210 self .assertEvaluate ("my_map" , "size=3" )
199211
200212 self .assertEvaluate ("my_bool_vec" , "size=1" )
201- self .continue_to_next_stop ( )
213+ self .continue_to_breakpoint ( breakpoint_7 )
202214 self .assertEvaluate ("my_bool_vec" , "size=2" )
203215
216+ self .continue_to_breakpoint (breakpoint_8 )
204217 # Test memory read, especially with 'empty' repeat commands.
205218 if context == "repl" :
206- self .continue_to_next_stop ()
207219 self .assertEvaluate ("memory read -c 1 &my_ints" , ".* 05 .*\n " )
208220 self .assertEvaluate ("" , ".* 0a .*\n " )
209221 self .assertEvaluate ("" , ".* 0f .*\n " )
210222 self .assertEvaluate ("" , ".* 14 .*\n " )
211223 self .assertEvaluate ("" , ".* 19 .*\n " )
212224
225+ self .continue_to_exit ()
226+
213227 @skipIfWindows
214228 def test_generic_evaluate_expressions (self ):
215229 # Tests context-less expression evaluations
0 commit comments