Fix use of mutable default arg in tracetools_test #84
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This issue only affects
tracetools_test
-based tests if multiple tests are run in the samepytest
invocation (i.e.,ament_add_pytest_test()
). The issue is that the defaultlist
value foradditional_actions
is mutable. We kept appending to the samelist
, so we re-usedTrace
action objects for multipleLaunchService.run()
calls, and ended up performing substitutions twice, which was raising an error.I fixed this by changing the default value to
None
and then changingNone
to[]
if needed. I also changedadditional_actions
to be appended instead of prepended to the list of launch actions, since theTrace
action must be first; this itself would've fixed the issue too.I also simplified the typing a bit. This
additional_actions
argument isn't actually used anywhere here, so it could technically be removed, but we can just keep it.Note that
test_tracetools
currently has individualament_add_pytest_test()
calls for its tests, but I've bumped into this issue internally.