Skip to content

Add debugger device-settings support to cbuild-run generation#2514

Open
brondani wants to merge 6 commits into
mainfrom
projmgr-debugger-device-settings
Open

Add debugger device-settings support to cbuild-run generation#2514
brondani wants to merge 6 commits into
mainfrom
projmgr-debugger-device-settings

Conversation

@brondani

@brondani brondani commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Fixes

Changes

  • Added device-settings to debugger parsing, schema validation, context processing, and cbuild-run.yml output.
  • Added fallback extraction of debugger device settings from .dbgconf variable assignments when explicit device-settings are not provided.
  • Added ParseDbgconfFile utility coverage and updated run-debug reference outputs/test data.

Risk / Limitations

  • .dbgconf parsing is limited to simple semicolon-terminated assignments after stripping C-style comments.

Checklist

  • 🤖 This change is covered by unit tests (if applicable).
  • 🤹 Manual testing has been performed (if necessary).
  • 🛡️ Security impacts have been considered (if relevant).
  • 📖 Documentation updates are complete (if required).
  • 🧠 Third-party dependencies and TPIP updated (if required).

@brondani brondani changed the title Add debugger device-settings support to cbuild-run generation Add debugger device-settings support to cbuild-run generation Jul 10, 2026
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

Test Results

  2 files   -  32   14 suites   - 68   13m 33s ⏱️ - 1m 0s
475 tests  - 265  475 ✅  - 265  0 💤 ±0  0 ❌ ±0 
950 runs   - 530  950 ✅  - 530  0 💤 ±0  0 ❌ ±0 

Results for commit 4f6a6aa. ± Comparison against base commit e8e6d1e.

This pull request removes 266 and adds 1 tests. Note that renamed tests count towards both.
CodeGenerator ‑ Check
CrossPlatformUnitTests ‑ CanExecute
CrossPlatformUnitTests ‑ ExecCommand
CrossPlatformUnitTests ‑ GetEnv_Empty
CrossPlatformUnitTests ‑ GetEnv_Existing
CrossPlatformUnitTests ‑ GetEnv_NoExising
CrossPlatformUnitTests ‑ GetExecutablePath
CrossPlatformUnitTests ‑ GetLongPathRegStatus
CrossPlatformUnitTests ‑ GetPackRootDir_Default
CrossPlatformUnitTests ‑ GetPackRootDir_NoEnvSet
…
ProjMgrUtilsUnitTests ‑ ParseDbgconfFile

♻️ This comment has been updated with latest results.

Comment thread tools/projmgr/src/ProjMgrUtils.cpp Fixed
Comment thread tools/projmgr/src/ProjMgrUtils.cpp Fixed
Comment thread tools/projmgr/src/ProjMgrUtils.cpp Fixed
@brondani brondani requested a review from grasci-arm July 10, 2026 17:11
@brondani

Copy link
Copy Markdown
Collaborator Author

@grasci-arm Please review this PR

@grasci-arm

Copy link
Copy Markdown
Collaborator

Thanks for the ping. I’ll review the PR and get back with comments if I find anything.

@brondani brondani marked this pull request as ready for review July 10, 2026 17:50

@grasci-arm grasci-arm left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new device-settings plumbing is broadly coherent, but I found one serious regression risk: dbgconf parsing now silently ignores any final assignment lacking a semicolon and will drop the entire file’s last setting, which can break generated debugger behavior for valid-but-minimal dbgconf content.

@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.56164% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.34%. Comparing base (e8e6d1e) to head (4f6a6aa).

Files with missing lines Patch % Lines
tools/projmgr/src/ProjMgrUtils.cpp 82.75% 2 Missing and 8 partials ⚠️
tools/projmgr/src/ProjMgrYamlParser.cpp 66.66% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2514      +/-   ##
==========================================
+ Coverage   65.29%   65.34%   +0.05%     
==========================================
  Files         147      147              
  Lines       26702    26774      +72     
  Branches    16184    16219      +35     
==========================================
+ Hits        17435    17496      +61     
- Misses       7070     7072       +2     
- Partials     2197     2206       +9     
Flag Coverage Δ
projmgr-cov 87.97% <83.56%> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
tools/projmgr/include/ProjMgrParser.h 100.00% <ø> (ø)
tools/projmgr/include/ProjMgrUtils.h 87.50% <ø> (ø)
tools/projmgr/include/ProjMgrWorker.h 83.87% <ø> (ø)
tools/projmgr/src/ProjMgrCbuildRun.cpp 95.70% <100.00%> (+0.06%) ⬆️
tools/projmgr/src/ProjMgrRunDebug.cpp 87.67% <100.00%> (+0.10%) ⬆️
tools/projmgr/src/ProjMgrWorker.cpp 87.53% <100.00%> (+0.02%) ⬆️
tools/projmgr/src/ProjMgrYamlParser.cpp 84.91% <66.66%> (-0.15%) ⬇️
tools/projmgr/src/ProjMgrUtils.cpp 91.85% <82.75%> (-1.78%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@brondani brondani requested a review from edriouk July 10, 2026 18:24
@grasci-arm

Copy link
Copy Markdown
Collaborator

Thanks for the ping — I’ve reviewed the PR and the new device-settings flow looks consistent across parsing, validation, context processing, and cbuild-run.yml generation.

A couple of things stand out as good to keep in mind:

  • the fallback extraction from .dbgconf is limited to simple assignments, so the documented limitation is important
  • the updated tests/reference outputs seem to cover the intended paths well

Overall, the change looks good to me.

@grasci-arm

Copy link
Copy Markdown
Collaborator

Thanks for the ping — I’ll review this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants