Skip to content

Harden target-list parsing and unify gcovr project-root fallback (WP5) - #21

Closed
devin-ai-integration[bot] wants to merge 2 commits into
devin/wp4-fbuild-dedupfrom
devin/wp5-target-parsing-gcovr
Closed

devin-ai-integration[bot] wants to merge 2 commits into
devin/wp4-fbuild-dedupfrom
devin/wp5-target-parsing-gcovr

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Aug 21, 2026 •

Copy link
Copy Markdown
Related Issue(s)
Has Unit Tests (y/n) y
Documentation Included (y/n) n

Change Description

  • cmake.py get_available_targets: guard empty cmake --build ... help output (was an unguarded stdout[0] → IndexError); detect the generator from the CMAKE_GENERATOR cache variable instead of sniffing the first help line; startswith + slice instead of make.replace(prefix, "") (which mangles targets containing the prefix twice); clear cached_help_targets in cmake_refresh_cache.
  • gcovr.py: single _get_project_root helper with one documented fallback (build_dir.parent) — previously _get_project_path and execute disagreed (parent vs parent.parent) for the same value; framework_path resolved consistently.

Rationale

Fragile-parsing fixes exercised by the make+ninja integration matrix (WP5 of 9, stacked on #20). The gcovr change only affects the no-settings fallback path, where at most one of the two previous fallbacks could have been right.

Testing/Review Recommendations

New parsing tests with canned ninja/make help output. Suite: 165 passed; black clean. Review focus: the gcovr fallback unification is an intentional behavior change on a buggy path.

Future Work

WP6–WP9 of the series.

Pushed by Devin AI

Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/bba39c1277854bf8a1fd63a094f20e24
Requested by: @thomas-bc-autobot


Open in Devin Review

@devin-ai-integration

Copy link
Copy Markdown
Author
Original prompt from thomas.boyer.chammard

I want this session to be a large effort to make fprime-tools more maintainable and cleaner code/less technical debt. Please make a plan to study that and deliver a master plan. Allocate subagent to find areas that can be improved, then more subagents to study it in detail and make a plan, then iterate on the plan with other review agents until the review agent and planner agent agree on an approved plan. Once the approved plan is done, have other implementer agents implement the plan, and review agents that build and test the result. Iterate until everyone agrees the code is correct and an improvement. Use subagents, high importance goals:

  • CLI and external APIs should ideally be left unchanged, or backwards compatibility layer left in
  • The less line of code changes, the easier the review. But if lots of LOC for high value simplification, it is ok.

Let’s go! Don’t stop, keep iterating until my goals are met.

@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

devin-ai-integration[bot]

This comment was marked as resolved.

thomas-bc and others added 2 commits August 28, 2026 16:29
…WP5)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
devin-ai-integration Bot force-pushed the devin/wp4-fbuild-dedup branch from 071f835 to 0f693d8 Compare August 28, 2026 16:31
@devin-ai-integration
devin-ai-integration Bot force-pushed the devin/wp5-target-parsing-gcovr branch from 7f4c115 to 06740c9 Compare August 28, 2026 16:31
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.

1 participant