@@ -154,16 +154,23 @@ def test_read_memory(self):
154
154
@add_test_categories (['pyapi' ])
155
155
@skipIfWindows # stdio manipulation unsupported on Windows
156
156
@skipIfRemote # stdio manipulation unsupported on remote iOS devices<rdar://problem/54581135>
157
+ @skipIfReproducer # stdout not captured by reproducers
157
158
@skipIf (oslist = ["linux" ], archs = ["arm" , "aarch64" ])
159
+ @no_debug_info_test
158
160
def test_launch_simple (self ):
159
161
d = {'EXE' : 'b.out' }
160
162
self .build (dictionary = d )
161
163
self .setTearDownCleanup (dictionary = d )
162
164
target = self .create_simple_target ('b.out' )
163
165
166
+ # Set the debugger to synchronous mode so we only continue after the
167
+ # process has exited.
168
+ self .dbg .SetAsync (False )
169
+
164
170
process = target .LaunchSimple (
165
171
['foo' , 'bar' ], ['baz' ], self .get_process_working_directory ())
166
- self .runCmd ("run" )
172
+ process .Continue ()
173
+ self .assertEqual (process .GetState (), lldb .eStateExited )
167
174
output = process .GetSTDOUT (9999 )
168
175
self .assertIn ('arg: foo' , output )
169
176
self .assertIn ('arg: bar' , output )
@@ -173,15 +180,17 @@ def test_launch_simple(self):
173
180
self .runCmd ("setting set target.env-vars bar=baz" )
174
181
process = target .LaunchSimple (None , None ,
175
182
self .get_process_working_directory ())
176
- self .runCmd ("run" )
183
+ process .Continue ()
184
+ self .assertEqual (process .GetState (), lldb .eStateExited )
177
185
output = process .GetSTDOUT (9999 )
178
186
self .assertIn ('arg: foo' , output )
179
187
self .assertIn ('env: bar=baz' , output )
180
188
181
189
self .runCmd ("settings set target.disable-stdio true" )
182
190
process = target .LaunchSimple (
183
191
None , None , self .get_process_working_directory ())
184
- self .runCmd ("run" )
192
+ process .Continue ()
193
+ self .assertEqual (process .GetState (), lldb .eStateExited )
185
194
output = process .GetSTDOUT (9999 )
186
195
self .assertEqual (output , "" )
187
196
0 commit comments