mirror of
https://github.com/intel/llvm.git
synced 2026-02-01 08:56:15 +08:00
[lldb] Fix that empty target.run-args are not actually used when launching process
`GetPropertyAtIndexAsArgs` returns true on success and false on failure. Right now it returns the converted `size_t` returned from `GetArgs` which describes the number of arguments in the argument list. So for empty argument lists (`(size_t)0` -> `(bool)false`) this function always fails. The only observable effect of this seems to be that empty arguments are never propagated to the internal LaunchInfo for a process. This causes that once any argument has been added to `target.run-args`, clearing `target.run-args` doesn't have any effect. Fixes issue #55568 Reviewed By: JDevlieghere, jingham Differential Revision: https://reviews.llvm.org/D126057
This commit is contained in:
@@ -191,6 +191,15 @@ class TargetAPITestCase(TestBase):
|
||||
self.assertIn('arg: foo', output)
|
||||
self.assertIn('env: bar=baz', output)
|
||||
|
||||
# Clear all the run args set above.
|
||||
self.runCmd("setting clear target.run-args")
|
||||
process = target.LaunchSimple(None, None,
|
||||
self.get_process_working_directory())
|
||||
process.Continue()
|
||||
self.assertEqual(process.GetState(), lldb.eStateExited)
|
||||
output = process.GetSTDOUT(9999)
|
||||
self.assertNotIn('arg: foo', output)
|
||||
|
||||
self.runCmd("settings set target.disable-stdio true")
|
||||
process = target.LaunchSimple(
|
||||
None, None, self.get_process_working_directory())
|
||||
|
||||
Reference in New Issue
Block a user