Fix lint_param_docs parser bugs and deduplicate CI source lint#1329
Fix lint_param_docs parser bugs and deduplicate CI source lint#1329sbryngelson merged 1 commit intoMFlowCode:masterfrom
Conversation
|
Claude Code Review Head SHA: 1a5d523 Files changed:
Findings:
The new code replaces Minimal reproduction: text = " namelist /user_inputs/ alpha, beta\n namelist /user_inputs/ gamma, delta\n"
# New code returns: {'alpha', 'delta'} # 'beta' and 'gamma' are silently dropped
# Expected: {'alpha', 'beta', 'gamma', 'delta'}All three current The fix is to insert a comma separator rather than a space when appending a new namelist statement's content to
In the new code: accum += " " + stripped[idx:]
in_namelist = accum.rstrip().endswith("&")
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe pull request consolidates three separate grep-based "Lint Source" checks in the CI/CD workflow into a single Python script ( 📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1329 +/- ##
=======================================
Coverage 45.01% 45.01%
=======================================
Files 70 70
Lines 20562 20562
Branches 1962 1962
=======================================
Hits 9255 9255
Misses 10179 10179
Partials 1128 1128 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Summary
Follow-up to #1327. Fixes bugs found by Claude CI review and deduplicates CI workflow.
Fixes
_parse_namelist_paramsusedstripped.lower()for detection butstripped.split("/user_inputs/")for extraction — fails on uppercase Fortran. Now uses index-based slicing from the lowercase match.&immediately.+=for accumulator so subsequentnamelist /user_inputs/blocks are captured.grepsteps intest.ymlwith singlepython3 toolchain/mfc/lint_source.pycall. Added missinglint_param_docs.pystep. CI now matches precheck exactly.Test plan
python3 toolchain/mfc/lint_param_docs.pyexits 0./mfc.sh precheck -j 8passes all 6/6🤖 Generated with Claude Code