[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:
Alejandro Hernández Cordero 2020-11-05 08:10:57 +01:00 committed by GitHub
parent f911664ca5
commit 4376552e7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 96 additions and 47 deletions

View file

@ -2,9 +2,9 @@ This document is a declaration of software quality for the `rcl_lifecycle` packa
# `rcl_lifecycle` Quality Declaration
The package `rcl_lifecycle` claims to be in the **Quality Level 4** category.
The package `rcl_lifecycle` 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]
@ -88,14 +88,30 @@ The results of the test can be found [here](https://ci.ros2.org/view/nightly/job
`rcl_lifecycle` has feature tests, which test for proper node state transitions.
The tests are located in the [test](test) subdirectory.
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_lifecycle/)
* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_lifecycle/)
* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_lifecycle/)
* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_lifecycle/)
### Public API Testing [4.ii]
Much of the API in `rcl_lifecycle` 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_lifecycle` does not currently track test coverage.
`rcl_lifecycle` 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_lifecycle_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]
@ -122,31 +138,31 @@ It also has several test dependencies, which do not affect the resulting quality
`lifecycle_msgs` provides message and services for managing lifecycle nodes.
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/master/lifecycle_msgs/QUALITY_DECLARATION.md).
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/lifecycle_msgs/QUALITY_DECLARATION.md).
#### `rcl`
`rcl` is the ROS 2 client library in C.
It is **Quality Level 4**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
It is **Quality Level 2**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
#### `rcutils`
`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).
#### `rmw`
`rmw` is the ROS 2 middleware library.
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/master/rmw/QUALITY_DECLARATION.md).
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).
#### `rosidl_runtime_c`
`rosidl_runtime_c` provides runtime functionality for rosidl message and service interfaces.
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rosidl/blob/master/rosidl_runtime_c/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rosidl/blob/foxy/rosidl_runtime_c/QUALITY_DECLARATION.md).
### Direct Runtime Non-ROS Dependencies [5.iii]

View file

@ -9,4 +9,4 @@ https://design.ros2.org/articles/node_lifecycle.html
## Quality Declaration
This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.
This package claims to be in the **Quality Level 2** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.