Test-build pipeline Phase B, PR 3: consolidate duplicate Partial header/source preprocessing - #1220
Merged
mkarlesky merged 2 commits intoAug 20, 2026
Conversation
stage_preprocess_partial_headers's own spec context already covered this branch; stage_preprocess_partial_sources's context didn't. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…body The two methods were structurally identical -- three preprocessing passes over a partial file, one DependencyTracker target per file -- differing only in which of state.partials_headers/partials_sources supplies the work and which Preprocessinator methods a header vs. a source is actually preprocessed by. Both stage methods keep their own name and stay the pipeline's two public entry points; only the shared body moved. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
mkarlesky
deleted the
test-invoker-phaseb-pr3-partial-preprocessing-consolidation
branch
August 20, 2026 21:05
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Third of four PRs implementing Phase B of the test-build pipeline (
lib/ceedling/test_invoker/) architecture review, following PR #1217 (Phase A), PR #1218 (Phase B, PR 1), and PR #1219 (Phase B, PR 2).TestBuildExecutor#stage_preprocess_partial_headersand#stage_preprocess_partial_sources(stages 6 and 7) were two ~110-line methods, structurally identical -- three preprocessing passes over a Partial's file, oneDependencyTrackertarget per file per test -- differing only in which ofstate.partials_headers/state.partials_sourcessupplies the work and whichPreprocessinatormethods a header vs. a source is actually preprocessed by. The sources method's own doc comment already said "Mirrors stage 6 exactly."preprocess_partialsbody, parameterized on the input list, akind/nounpair for log text, and the twoPreprocessinatormethod names to call. Bothstage_preprocess_partial_headersandstage_preprocess_partial_sourceskeep their own names and stay the pipeline's two public entry points --TestPipelineManagercalls them exactly as before, no change to stage ordering or conditions.Test plan
bundle exec rspec spec/units-- 2589 examples, 0 failuresthrowtheswitch/madsciencelab-plugins:v1.1.4)spec/system/delta_builds_spec.rb(wondrous_forest Partials cases -- the real end-to-end safety net for staleness/skip behavior across both stages) -- 16 examples, 0 failuresspec/system/gcov_deployment_spec.rb's Partials/coverage cases -- 16 examples, 0 failures🤖 Generated with Claude Code