[14958] Instance allocation consistency
Description
It is needed to verify the consistency of certain configurations of Resource Limits QoS policy when creating dataReaders, dataWriters and Topics.
Those certain configurations are, when using instances, with parameters set as max_samples < ( max_instances * max_samples_per_instance ), in which case the creator should return nullptr.
Two unit tests has been created per each object creator, one for not keyed topic, and other for keyed topic. Then, new check rules have been added to each check_qos() method, in form of another method that extends it: check_qos_including_resource_limits().
The two new rules cover, using instances, when max_instances or max_samples_per_instance are set to inf (<= 0), and max_samples not (> 0); and when max_samples < ( max_instances * max_samples_per_instance ).
@Mergifyio backport 2.6.x 2.3.x 2.1.x
Contributor Checklist
- [X] Commit messages follow the project guidelines.
- [X] The code follows the style guidelines of this project.
- [x] Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added.
- N/A: Any new/modified methods have been properly documented using Doxygen.
- [x] Fast DDS test suite has been run locally, just for *InstanceAllocationConsistency Tests.
- [X] Changes are ABI compatible.
- [X] Changes are API compatible.
- N/A: Documentation builds and tests pass locally.
-
N/A: New feature has been added to the
versions.mdfile (if applicable). - N/A: New feature has been documented/Current behavior is correctly described in the documentation.
Reviewer Checklist
- [ ] Check contributor checklist is correct.
- [ ] Check CI results: changes do not issue any warning.
- [ ] Check CI results: failing tests are unrelated with the changes.
@richiprosima please test this
@richiprosima Please test this
@richiprosima Please test this again
@richiprosima please test this
@richiprosima please test this
@richiprosima please test this again
@richiprosima please test this again
@richiprosima please test this again
@richiprosima Please test this
Failed tests not related