mikeferguson / code_coverage

ROS package to run coverage testing
37 stars 25 forks source link

ROS2 support #32

Open martiniil opened 3 years ago

martiniil commented 3 years ago

I just wanted to ask if you already had any thoughts or even progress in providing code-coverage for ros2 packages?

mikeferguson commented 3 years ago

My understanding is that is unnecessary (for at least C++) in ROS2 - since colcon natively supports code coverage: https://answers.ros.org/question/355388/generating-a-c-code-coverage-report-with-colcon/ - however I haven't actually tried this out yet.

martiniil commented 3 years ago

I tried it. I still need to create a baseline, add necessary flags, extract the right information from the report, generate html and so on. Is this not what makes your package necessary, or did I miss s.th. important?

tylerjw commented 3 years ago

If anyone is looking for an example on how to do this for their repos in CI for ROS2 you can look at the moveit2 repo's github action workflow and our .ci.prepare_codecov script:

If you wanted to do the same thing locally you could follow these steps:

I've used this workflow when writing tests and searching for the last few lines I don't have coverage of.

martiniil commented 3 years ago

Concerning CI coverage jobs, this might also be interesting: https://github.com/ros-industrial/industrial_ci/pull/504