Skip to content

test: remove the legacy ECS test layer and its harness#316

Merged
DemchaAV merged 1 commit into
2.0-devfrom
build/2.0-r3-delete-ecs-tests
Jul 6, 2026
Merged

test: remove the legacy ECS test layer and its harness#316
DemchaAV merged 1 commit into
2.0-devfrom
build/2.0-r3-delete-ecs-tests

Conversation

@DemchaAV

@DemchaAV DemchaAV commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Why

The Entity-Component-System render/layout pipeline is dead on the canonical path
(DocumentSession → LayoutCompiler → LayoutGraph → FixedLayoutBackend). It was kept alive
only by a test harness (EngineComposerHarness + the engine-assembly builder layer) and the
suites driving it — ~15k lines of test code exercising internals nothing ships through.

What

  • Delete the harness + the engine-assembly builders, the engine.render.pdf.ecs render
    tests, the qa integration suites and root ECS unit tests that depend on them (68 test
    files), plus 6 layout-snapshots/integration/** resources they alone consumed.
  • Two deleted suites tested live code through the harness, so their coverage is preserved
    harness-free: BarcodeRenderTest (renders QR + CODE128 through DocumentSession) and
    ImageDataCacheTest (the shared ImageSourceCache on the canonical image path — moved
    next to the cache in core, no harness). Every other deleted feature is already covered by a
    canonical DocumentSession test (tables → TableBuilderColSpanTest/TableSlicePaginationTest,
    images → DocumentSessionImageTest, pagination → PaginationEdgeCaseTest, shapes →
    ShapeContainerBuilderTest, custom fonts → EngineeringResumeSmokeTest, links →
    AddLinkShortcutTest).
  • render-pdf no longer publishes a tests-classifier jar (its only consumer was the harness);
    qa drops that dependency. The core tests-classifier jar stays — a few render-pdf
    backend tests still use its shared com.demcha.testing.VisualTestOutputs helper.

The ECS main classes are removed in a follow-up; this PR is the test layer only.

Tests

  • Full reactor clean verify: BUILD SUCCESS, all 14 modules, no test failures, no baseline
    drift
    .
  • Two independent cold coverage passes: the second caught that ImageDataCacheTest covered a
    live cache (not dead ECS) — fixed by the harness-free replacement above.

The Entity-Component-System render/layout pipeline is dead on the canonical
path (DocumentSession -> LayoutCompiler -> LayoutGraph -> FixedLayoutBackend);
it was exercised only by a test harness and the suites driving it. Remove the
harness (EngineComposerHarness + the engine-assembly builders), the ecs
render-pipeline tests, the qa integration suites and root ECS unit tests that
depend on them, and the layout-snapshot resources they alone consumed. Every
feature they touched is already covered by a canonical DocumentSession test.

Two suites tested live code through the harness, so their coverage is preserved
harness-free: barcode rendering gains a canonical BarcodeRenderTest, and the
shared image source/metadata cache (ImageSourceCache, on the canonical image
path) gains a harness-free ImageDataCacheTest next to the cache in core.

render-pdf no longer publishes a tests-classifier jar (its only consumer was
the harness); qa drops that dependency. The core tests-classifier jar stays --
a few render-pdf backend tests still use its shared visual-test helper.
@DemchaAV DemchaAV force-pushed the build/2.0-r3-delete-ecs-tests branch from da41856 to 4d289fc Compare July 6, 2026 09:36
@DemchaAV DemchaAV merged commit 081cda3 into 2.0-dev Jul 6, 2026
10 checks passed
@DemchaAV DemchaAV deleted the build/2.0-r3-delete-ecs-tests branch July 6, 2026 10:18
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