Range constraints were previously ignored when the parameter type did not
match one of the existing numeric range validation branches. For example, a
boolean parameter could be declared with an integer range constraint.
This change:
rejects integer range constraints for types other than integers and integer arrays;
rejects floating-point range constraints for types other than doubles and double arrays;
validates statically typed parameters that are declared without an initial value;
validates dynamically typed parameters whenever they acquire or change their concrete type;
preserves the existing scalar and per-element array range validation behavior.
Testing
Added coverage for incompatible initialized parameter declarations.
Added coverage for statically typed declarations without initial values.
Added coverage for incompatible integer/floating-point range combinations.
Added coverage for dynamically typed parameters changing to an incompatible type.
Full test_node suite passed: 48/48 tests, using the equivalent patch with the
rclcpp version matching the available archived Rolling dependencies.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Fixes #2184.
Range constraints were previously ignored when the parameter type did not
match one of the existing numeric range validation branches. For example, a
boolean parameter could be declared with an integer range constraint.
This change:
Testing
rclcpp version matching the available archived Rolling dependencies.