[Backport Foxy] Update QD (#843)
* Update tracetools' QL to 2 in rcl's QD (#690) Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com> * Fix link to latest API docs (#692) Signed-off-by: Jorge Perez <jjperez@ekumenlabs.com> * Update quality declaration and coverage (#674) * Update quality level and coverage Signed-off-by: ahcorde <ahcorde@gmail.com> * Added feedback Signed-off-by: ahcorde <ahcorde@gmail.com> * Fixed wording and links Signed-off-by: ahcorde <ahcorde@gmail.com> * Updated QD Signed-off-by: ahcorde <ahcorde@gmail.com> * udpate QD links to foxy Signed-off-by: ahcorde <ahcorde@gmail.com> * Update tracetools QL and add to rcl_lifecycle's QD (#845) List tracetools in rcl_lifecycle's QD Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com> * update QL dependencies on rcl_yaml_param_parser Signed-off-by: ahcorde <ahcorde@gmail.com> * Updated QD Signed-off-by: ahcorde <ahcorde@gmail.com> * Updated QD Signed-off-by: ahcorde <ahcorde@gmail.com> Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com> Co-authored-by: Jorge Perez <jjperez@ekumenlabs.com>
This commit is contained in:
parent
f911664ca5
commit
4376552e7c
8 changed files with 96 additions and 47 deletions
|
@ -2,9 +2,9 @@ This document is a declaration of software quality for the `rcl_yaml_param_parse
|
|||
|
||||
# `rcl_yaml_param_parser` Quality Declaration
|
||||
|
||||
The package `rcl_yaml_param_parser` claims to be in the **Quality Level 4** category.
|
||||
The package `rcl_yaml_param_parser` claims to be in the **Quality Level 2** category.
|
||||
|
||||
Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 4 in REP-2004](https://www.ros.org/reps/rep-2004.html).
|
||||
Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Quality Categories in REP-2004](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-quality-categories).
|
||||
|
||||
## Version Policy [1]
|
||||
|
||||
|
@ -59,10 +59,12 @@ All pull requests must resolve related documentation changes before merging.
|
|||
|
||||
### Feature Documentation [3.i]
|
||||
|
||||
`rcl_yaml_param_parser` does not have feature documentation.
|
||||
`rcl_yaml_param_parser` provides the main elements of its API listed using doxygen and is hosted [here](http://docs.ros2.org/latest/api/rcl_yaml_param_parser/index.html).
|
||||
|
||||
### Public API Documentation [3.ii]
|
||||
|
||||
`rcl_yaml_param_parser` has embedded API documentation and it is generated using doxygen. Currently, its latest version is hosted [here](http://docs.ros2.org/latest/api/rcl_yaml_param_parser/index.html). Latest version has to be generated before considering this item fully resolved.
|
||||
|
||||
All of `rcl_yaml_param_parser` has embedded API documentation. It is not yet hosted publicly.
|
||||
|
||||
### License [3.iii]
|
||||
|
@ -85,15 +87,30 @@ The results of the test can be found [here](https://ci.ros2.org/view/nightly/job
|
|||
|
||||
### Feature Testing [4.i]
|
||||
|
||||
`rcl_yaml_param_parser` has feature tests, which ensure that a wide variety of yaml files are checked for parsing.
|
||||
Most features in `rcl_yaml_param_parser` have corresponding tests which simulate typical usage, and they are located in the [`test`](./test) directory.
|
||||
New features are required to have tests before being added.
|
||||
Currently nightly test results can be seen here:
|
||||
* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_yaml_param_parser/)
|
||||
* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_yaml_param_parser/)
|
||||
* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_yaml_param_parser/)
|
||||
* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_yaml_param_parser/)
|
||||
|
||||
### Public API Testing [4.ii]
|
||||
|
||||
Much of the API in `rcl_yaml_param_parser` is tested in the aforementioned feature tests, but it is not tested explicitly.
|
||||
Each part of the public API has tests, and new additions or changes to the public API require tests before being added. The tests aim to cover both typical usage and corner cases, but are quantified by contributing to code coverage.
|
||||
|
||||
### Coverage [4.iii]
|
||||
|
||||
`rcl_yaml_param_parser` does not currently track test coverage.
|
||||
`rcl_yaml_param_parser` follows the recommendations for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#code-coverage), and opts to use line coverage instead of branch coverage.
|
||||
|
||||
This includes:
|
||||
|
||||
- tracking and reporting line coverage statistics
|
||||
- no lines are manually skipped in coverage calculations
|
||||
|
||||
Changes are required to make a best effort to keep or increase coverage before being accepted, but decreases are allowed if properly justified and accepted by reviewers.
|
||||
|
||||
Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_yaml_param_parser_src/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs).
|
||||
|
||||
### Performance [4.iv]
|
||||
|
||||
|
@ -118,13 +135,13 @@ It also has several test dependencies, which do not affect the resulting quality
|
|||
|
||||
`rcutils` provides commonly used functionality in C.
|
||||
|
||||
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/master/QUALITY_DECLARATION.md).
|
||||
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
|
||||
|
||||
#### `libyaml_vendor`
|
||||
|
||||
`libyaml_vendor` is a vendor package for the libyaml C library.
|
||||
|
||||
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/libyaml_vendor/blob/master/QUALITY_DECLARATION.md).
|
||||
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/libyaml_vendor/blob/foxy/QUALITY_DECLARATION.md).
|
||||
|
||||
### Direct Runtime Non-ROS Dependencies [5.iii]
|
||||
|
||||
|
@ -134,7 +151,7 @@ It is **Quality Level 4**, see its [Quality Declaration document](https://github
|
|||
|
||||
`libyaml` is a YAML parsing library written in C.
|
||||
|
||||
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/libyaml_vendor/blob/master/libyaml_q_declaration.md).
|
||||
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/libyaml_vendor/blob/foxy/libyaml_q_declaration.md).
|
||||
|
||||
## Platform Support [6]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue