You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: rcl/QUALITY_DECLARATION.md
+17-15Lines changed: 17 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@ This document is a declaration of software quality for the `rcl` package, based
2
2
3
3
# `rcl` Quality Declaration
4
4
5
-
The package `rcl` claims to be in the **Quality Level 4** category.
5
+
The package `rcl` claims to be in the **Quality Level 2** category.
6
6
7
7
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).
8
8
@@ -71,7 +71,7 @@ All pull requests must resolve related documentation changes before merging.
71
71
72
72
### Public API Documentation [3.ii]
73
73
74
-
`rcl` has embedded API documentation and it is generated using doxygen. Currently, its eloquent version is hosted [here](http://docs.ros2.org/eloquent/api/rcl/). Latest version has to be generated before considering this item fully resolved.
74
+
`rcl` has embedded API documentation and it is generated using doxygen. Currently, its latest version is hosted [here](http://docs.ros2.org/latest/api/rcl/).
75
75
76
76
New additions to the public API require documentation before being added.
77
77
@@ -101,7 +101,9 @@ Currently nightly test results can be seen here:
101
101
102
102
### Public API Testing [4.ii]
103
103
104
-
Most of the functionality of the declared API in this package is covered in its unit tests. Currently it has a line coverage of [77%](https://ci.ros2.org/job/ci_linux_coverage/85/cobertura/src_ros2_rcl_rcl_src_rcl/).
104
+
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.
105
+
106
+
The following functions are partially supported: `rcl_take_loaned_message`, `rcl_return_loaned_message_from_subscription`, `rcl_borrow_loaned_message`, `rcl_return_loaned_message_from_publisher` and `rcl_publish_loaned_message` because they are not currently supported on Tier 1 RMW providers.
105
107
106
108
### Coverage [4.iii]
107
109
@@ -114,7 +116,7 @@ This includes:
114
116
115
117
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.
116
118
117
-
Current coverage statistics can be viewed (77%) [here](https://ci.ros2.org/job/ci_linux_coverage/85/cobertura/src_ros2_rcl_rcl_src_rcl/). Current coverage statistics need to be improved to reach a higher quality level.
119
+
Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_src_rcl/). 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).
118
120
119
121
### Performance [4.iv]
120
122
@@ -149,7 +151,7 @@ It is **Quality Level 4**, see its [Quality Declaration document](https://github
149
151
150
152
The `rcl_interfaces` package provides some common ROS Message and ROS Service types which are used to implement certain client library features.
151
153
152
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/master/rcl_interfaces/QUALITY_DECLARATION.md).
154
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/rcl_interfaces/QUALITY_DECLARATION.md).
153
155
154
156
#### `rcl_logging_spdlog`
155
157
@@ -161,31 +163,31 @@ It is **Quality Level 4**, see its [Quality Declaration document](https://github
161
163
162
164
The `rcl_yaml_param_parser` package provides an API that is used to parse YAML configuration files which may be used to configure ROS and specific nodes.
163
165
164
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcl/tree/master/rcl_yaml_param_parser/Quality_Declaration.md).
166
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl/tree/foxy/rcl_yaml_param_parser/Quality_Declaration.md).
165
167
166
168
#### `rcutils`
167
169
168
170
The `rcutils` package provides an API which contains common utilities and data structures needed when programming in C.
169
171
170
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/master/QUALITY_DECLARATION.md).
172
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
171
173
172
174
#### `rmw_implementation`
173
175
174
176
The `rmw_implementation` package provides access to the default rmw implementation, and provides the ability to dynamically switch rmw implementations if more than one is available.
175
177
176
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rmw_implementation/blob/master/QUALITY_DECLARATION.md).
178
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rmw_implementation/blob/foxy/rmw_implementation/QUALITY_DECLARATION.md).
177
179
178
180
#### `rosidl_runtime_c`
179
181
180
182
The `rosidl_runtime_c` package provides runtime interfaces in C based on user defined ROS Messages and ROS Services, as well as associated support functions for those types.
181
183
182
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rosidl/tree/master/rosidl_runtime_c/Quality_Declaration.md).
184
+
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rosidl/blob/foxy/rosidl_runtime_c/QUALITY_DECLARATION.md).
183
185
184
186
#### `tracetools`
185
187
186
188
The `tracetools` package provides utilities for instrumenting the code in `rcl` so that it may be traced for debugging and performance analysis.
187
189
188
-
It is **Quality Level 4**, see its [Quality Declaration document](https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing/-/blob/master/tracetools/QUALITY_DECLARATION.md).
190
+
It is **Quality Level 1**, see its [Quality Declaration document](https://gitlab.com/ros-tracing/ros2_tracing/-/blob/foxy/tracetools/QUALITY_DECLARATION.md).
189
191
190
192
### Optional Direct Runtime ROS Dependencies [5.ii]
191
193
@@ -213,7 +215,7 @@ The chart below compares the requirements in the REP-2004 with the current state
213
215
|--|--|--|
214
216
|1|**Version policy**|---|
215
217
|1.i|Version Policy available | ✓ |
216
-
|1.ii|Stable version |☓|
218
+
|1.ii|Stable version |✓|
217
219
|1.iii|Declared public API|✓|
218
220
|1.iv|API stability policy|✓|
219
221
|1.v|ABI stability policy|✓|
@@ -225,16 +227,16 @@ The chart below compares the requirements in the REP-2004 with the current state
225
227
|2.iv| CI policy for change requests | ✓ |
226
228
|2.v| Documentation policy for change requests | ✓ |
227
229
|3|**Documentation**| --- |
228
-
|3.i| Per feature documentation |☓|
229
-
|3.ii| Per public API item documentation |*|
230
+
|3.i| Per feature documentation |✓|
231
+
|3.ii| Per public API item documentation |✓|
230
232
|3.iii| Declared License(s) | ✓ |
231
233
|3.iv| Copyright in source files| ✓ |
232
234
|3.v.a| Quality declaration linked to README | ✓ |
233
235
|3.v.b| Centralized declaration available for peer review |✓|
234
236
|4| Testing | --- |
235
237
|4.i| Feature items tests | ✓ |
236
238
|4.ii| Public API tests | ✓ |
237
-
|4.iii.a| Using coverage |*|
239
+
|4.iii.a| Using coverage |✓|
238
240
|4.iii.a| Coverage policy | ✓ |
239
241
|4.iv.a| Performance tests (if applicable) | ☓ |
240
242
|4.iv.b| Performance tests policy| ✓ |
@@ -247,4 +249,4 @@ The chart below compares the requirements in the REP-2004 with the current state
Copy file name to clipboardExpand all lines: rcl_action/QUALITY_DECLARATION.md
+24-10Lines changed: 24 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@ This document is a declaration of software quality for the `rcl_action` package,
2
2
3
3
# `rcl_action` Quality Declaration
4
4
5
-
The package `rcl_action` claims to be in the **Quality Level 4** category.
5
+
The package `rcl_action` claims to be in the **Quality Level 2** category.
6
6
7
-
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).
7
+
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).
8
8
9
9
## Version Policy [1]
10
10
@@ -88,15 +88,29 @@ The results of the test can be found [here](https://ci.ros2.org/view/nightly/job
88
88
89
89
`rcl_action` has feature tests, which test for proper node state transitions.
90
90
The tests are located in the [test](test) subdirectory.
91
+
New features are required to have tests before being added.
The tests are located in the [test](test) subdirectory.
100
+
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.
96
101
97
102
### Coverage [4.iii]
98
103
99
-
`rcl_action` does not currently track test coverage.
104
+
`rcl_action` 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.
105
+
106
+
This includes:
107
+
108
+
- tracking and reporting line coverage statistics
109
+
- no lines are manually skipped in coverage calculations
110
+
111
+
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.
112
+
113
+
Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_action_src_rcl_action/). 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).
100
114
101
115
### Performance [4.iv]
102
116
@@ -123,31 +137,31 @@ It also has several test dependencies, which do not affect the resulting quality
123
137
124
138
`action_msgs` provides messages and services for ROS 2 actions.
125
139
126
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/master/action_msgs/QUALITY_DECLARATION.md).
140
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/action_msgs/QUALITY_DECLARATION.md).
127
141
128
142
#### `rcl`
129
143
130
144
`rcl` is the ROS 2 client library in C.
131
145
132
-
It is **Quality Level 4**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
146
+
It is **Quality Level 2**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
133
147
134
148
#### `rcutils`
135
149
136
150
`rcutils` provides commonly used functionality in C.
137
151
138
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/master/QUALITY_DECLARATION.md).
152
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
139
153
140
154
#### `rmw`
141
155
142
156
`rmw` is the ROS 2 middleware library.
143
157
144
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/master/rmw/QUALITY_DECLARATION.md).
158
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).
145
159
146
160
#### `rosidl_runtime_c`
147
161
148
162
`rosidl_runtime_c` provides runtime functionality for rosidl message and service interfaces.
149
163
150
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rosidl/blob/master/rosidl_runtime_c/QUALITY_DECLARATION.md).
164
+
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rosidl/blob/foxy/rosidl_runtime_c/QUALITY_DECLARATION.md).
Copy file name to clipboardExpand all lines: rcl_lifecycle/QUALITY_DECLARATION.md
+25-9Lines changed: 25 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@ This document is a declaration of software quality for the `rcl_lifecycle` packa
2
2
3
3
# `rcl_lifecycle` Quality Declaration
4
4
5
-
The package `rcl_lifecycle` claims to be in the **Quality Level 4** category.
5
+
The package `rcl_lifecycle` claims to be in the **Quality Level 2** category.
6
6
7
-
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).
7
+
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).
8
8
9
9
## Version Policy [1]
10
10
@@ -88,14 +88,30 @@ The results of the test can be found [here](https://ci.ros2.org/view/nightly/job
88
88
89
89
`rcl_lifecycle` has feature tests, which test for proper node state transitions.
90
90
The tests are located in the [test](test) subdirectory.
91
+
New features are required to have tests before being added.
Much of the API in `rcl_lifecycle` is tested in the aforementioned feature tests, but it is not tested explicitly.
101
+
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.
95
102
96
103
### Coverage [4.iii]
97
104
98
-
`rcl_lifecycle` does not currently track test coverage.
105
+
`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.
106
+
107
+
This includes:
108
+
109
+
- tracking and reporting line coverage statistics
110
+
- no lines are manually skipped in coverage calculations
111
+
112
+
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.
113
+
114
+
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).
99
115
100
116
### Performance [4.iv]
101
117
@@ -122,31 +138,31 @@ It also has several test dependencies, which do not affect the resulting quality
122
138
123
139
`lifecycle_msgs` provides message and services for managing lifecycle nodes.
124
140
125
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/master/lifecycle_msgs/QUALITY_DECLARATION.md).
141
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/lifecycle_msgs/QUALITY_DECLARATION.md).
126
142
127
143
#### `rcl`
128
144
129
145
`rcl` is the ROS 2 client library in C.
130
146
131
-
It is **Quality Level 4**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
147
+
It is **Quality Level 2**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
132
148
133
149
#### `rcutils`
134
150
135
151
`rcutils` provides commonly used functionality in C.
136
152
137
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/master/QUALITY_DECLARATION.md).
153
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
138
154
139
155
#### `rmw`
140
156
141
157
`rmw` is the ROS 2 middleware library.
142
158
143
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/master/rmw/QUALITY_DECLARATION.md).
159
+
It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).
144
160
145
161
#### `rosidl_runtime_c`
146
162
147
163
`rosidl_runtime_c` provides runtime functionality for rosidl message and service interfaces.
148
164
149
-
It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rosidl/blob/master/rosidl_runtime_c/QUALITY_DECLARATION.md).
165
+
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rosidl/blob/foxy/rosidl_runtime_c/QUALITY_DECLARATION.md).
0 commit comments