cpplint checks fail for services and actions with buffers in the response/result
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 56/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- c
- Domain
- build-system, testing-qa
Research direction
Start with the generated rosidl_generator_py file build/.../rosidl_generator_py/srv/_get_buffer_s.c and the cpplint_rosidl_generated_py build/include_order failure. Compare the service/action generation described in #263 with the stdint.h injection from #250, including response/result/feedback versus request/goal handling. Done means the affected generated-code cpplint checks pass without introducing failures in the other cases.
Written by the indexing model from the issue text.
Description
Generated by Generative AI
No
Operating System:
any
ROS version or commit hash:
rolling, lyrical
RMW implementation (if applicable):
No response
RMW Configuration (if applicable):
No response
Client library (if applicable):
No response
'ros2 doctor --report' output
No response
Steps to reproduce issue
See #263
Expected behavior
Tests pass
Actual behavior
Tests fail
- rosidl_generator_py.cpplint_rosidl_generated_py build/include_order [4] (/ws/build/rosidl_generator_py/rosidl_generator_py/rosidl_generator_py/srv/_get_buffer_s.c:83)
<<< failure message
Found C system header after other header. Should be: _get_buffer_s.h, c system, c++ system, other.
>>>
Additional information
#250 injects <stdint.h> into the headers, which might appear in the generated code after non-C headers, if the code is for services and actions, which have buffer type in their response/result/feedback, but not in the response/goal.
There are two simple fixes:
- silence build/include_order in the cpplint checks
- always add <stdint.h>
A more complicated fix would add stdint.h as in the request/goal part, if the parts use buffers.
- Dominant language
- EmberScript
- Stars
- 26
- Forks
- 69
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ros2/rosidl_python
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ros2/rosidl_python#255 · 1 reaction ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 55/100
ros2/rosidl_python#257 · 8 comments ·
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 35/100
ros2/rosidl_python#242 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 32/100
ros2/rosidl_python#219 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
ros2/rosidl_python#217 · 2 comments ·
All issues in ros2/rosidl_python
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
AppImage/appimage.github.io#9676 ·
Maintainers usually reply within 1 day
-
Flutter Improvement Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
getsentry/sentry-dart#4061 · 2 comments ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Cocoanetics/SwiftBash#95 ·
-
Xcode 27Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
airbnb/HorizonCalendar#349 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OpenwaterHealth/openmotion-bloodflow-app#696 · 4 comments ·
Maintainers usually reply within 1 day