PresetDefinition.with_additional_config bugfix #3987
Merged
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.
Replacing self.run_config with {} pre merge_dicts if self.run_config is falsey
Summary
Bugfix.
Related ticket has all info on context: #3985
I found minimal change to be to add
initial_config = self.run_config or {}
This will also ensure that the new config is a new dict (rather than the same dict object that was passed in).
Happy for alternative suggestions.
Test Plan
Added happy path test to assert that even if initial run_config is None, the with_additional_config won't fail and that a new object will be returned and that it will have expected config.
Have considered also adding test case permutations where the config-to-be-added is a dict vs None - however there would be a problem with the assertion that the object is always a new object (which atm would not be the case if the new_runconfig is None). This test would align with docstring - but it would require more code changes and would also change current behaviour.
Checklist