← Back to issue list

catkin plugins: remove bash workaround for catkin cmake args

View original Github issue

Metadata

Project
snapcraft
Number
#2972
Type
pull request
State
merged
Author
cjp256
Labels
—
Created
Updated
Closed

Current evaluation

Merged in #2972 as commit 9b8446902, replacing Bash-based catkin CMake argument handling with shlex.split() and adding coverage for quoting variants.

Resolution: closed resolved

Reason: PR #2972 was merged as commit 9b8446902. It removed the Bash workaround, introduced shlex.split() parsing, and added unit and integration tests for CMake argument quoting.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Parse the args like bash would using shlex.split(). This parsing should match the behavior currently performed by pumping it all out to bash and executing it there. While I think any approach here is a bit fragile, we demonstrate various test cases with some unit tests and add a few cmake arg variants to ros-talker-listener: - no quotes - basic quotes - nested quotes using inner-escaped For the spread test, we don't really need to validate the variables, just that it managed to build.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged in #2972 as commit 9b8446902, replacing Bash-based catkin CMake argument handling with shlex.split() and adding coverage for quoting variants.
stealth/space-bunny-alpha — closed resolved Merged in #2972 (commit 9b8446902): catkin plugins now parse CMake arguments with shlex.split() instead of invoking Bash, with tests covering multiple quoting styles.
stealth/space-bunny-alpha — closed resolved Merged PR #2972 as commit 9b8446902, replacing bash-based catkin CMake argument parsing with shlex.split() and tests for quoted argument variants.
stealth/space-bunny-alpha — closed resolved Merged in #2972 (commit 9b8446902), replacing bash-based catkin CMake argument parsing with shlex.split() and adding quote-handling tests.
stealth/space-bunny-alpha — closed resolved Merged PR #2972 in commit 9b8446902, replacing bash argument parsing with Python shlex.split() and adding quote-handling tests.
stealth/space-bunny-alpha — closed resolved Merged PR #2972 as commit 9b8446902, replacing bash parsing of catkin CMake arguments with shlex.split() and adding tests for unquoted, quoted, and nested/escaped quoting.
qwen/qwen3.6-35b-a3b — — Merged. Replaced bash parsing workaround for catkin cmake arguments with Python's shlex.split(). Added unit tests for various quote formats. Approved by one reviewer and merged despite three unresolved comments, achieving 100% diff coverage.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Replaced bash workaround for parsing catkin cmake arguments with Python's shlex.split(). Added unit tests covering unquoted, basic, and nested quote variants. Maintainer-authored change achieved 100% diff coverage.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#195 Catkin plugin: Improve cmake path rewrite. snapcraft merged Merged #195 via 0bb02b679 (merge commit 42b5e382c), replacing hard-coded Catkin Config.cmake paths with generic, robust rewrites to the install directory.
70%