Skip to content

test: consolidate test targets and add a prepare-free unit lane - #528

Merged
jBernavaPrah merged 1 commit into
mainfrom
test-boundary-layout
Oct 2, 2026
Merged

jBernavaPrah merged 1 commit into
mainfrom
test-boundary-layout

Conversation

@jBernavaPrah

Copy link
Copy Markdown
Contributor

Purpose

Final step of the accepted test-boundary refactor: target layout consolidation and explicit CI suite selection.

What changes

  • phoxal's six external test targets become three: tests/unit is one executable with modules for the deterministic public-API suites; runtime_behavior_observers keeps its own process (tracing delivery consults a process-wide call-site interest cache); tests/compile gathers the compiler contracts — macro compile-fail cases and the consumer feature profiles' compilation checks. The trybuild fixture expectations are re-blessed for their new directory — only the recorded fixture paths changed, no diagnostic text.
  • A new unit lane in CI selects packages and targets explicitly and needs no fixture preparation and no composition compilation: the library and binary unit suites of the SDK, tool, supervisor, services, and components, plus the SDK's external-crate unit and observer suites. phoxal-service-world stays in the prepared lane because its transport test compiles only against its own prepared products.
  • That gate was hiding more than a layout detail: services/world was never prepared in CI, so its transport test has been compiling empty — the same hidden-test problem the refactor set out to remove, in a quieter form. The prepare loop now includes it and the test runs (1.8 s against the real transport).
  • The clippy-and-tests lane documents that it also executes the documentation tests, and the README now describes all four lanes.

Verified with the exact lane commands

  • Unit lane: 13 package library suites green, cargo-phoxal's 76 bin tests, unit 108, observers 4.
  • Compile suite: 7/7, and 8/8 with the scenario feature.
  • Workspace lane: 53 test binaries, 0 failures (including the world transport test, 1/1).
  • clippy --workspace --all-targets -D warnings, fmt --check, git diff --check clean.

Delivery order

Single repository, no publication impact.

phoxal's six external test targets become three: tests/unit is one
executable with modules for the deterministic public-API suites,
runtime_behavior_observers keeps its own process (tracing delivery
consults a process-wide call-site interest cache), and tests/compile
gathers the compiler contracts — macro compile-fail cases and the
consumer feature profiles' compilation checks. The trybuild fixture
expectations are re-blessed for their new directory; only the recorded
fixture paths changed, no diagnostic text.

The new unit lane in CI selects packages and targets explicitly and
needs no fixture preparation and no composition compilation: the
library and binary unit suites of the SDK, tool, supervisor, services,
and components, plus the SDK's external-crate unit and observer suites.
phoxal-service-world stays in the prepared lane because its transport
test compiles only against its own prepared products.

That gate was hiding more than a layout detail: services/world was
never prepared in CI, so its transport test has been compiling empty —
the prepare loop now includes it and the test runs (1.8 s against the
real transport). The clippy-and-tests lane documents that it also
executes the documentation tests.

Verified with the exact lane commands: unit lane green (13 package
library suites, cargo-phoxal's 76 bin tests, unit 108, observers 4);
compile suite 7/7 and 8/8 with the scenario feature; workspace lane 53
test binaries, 0 failures; world transport 1/1; clippy -D warnings and
fmt clean.

Signed-off-by: jbernavaprah <webjure@gmail.com>
@jBernavaPrah
jBernavaPrah enabled auto-merge (squash) October 2, 2026 22:05
@jBernavaPrah
jBernavaPrah merged commit 4ba230b into main Oct 2, 2026
5 checks passed
@jBernavaPrah
jBernavaPrah deleted the test-boundary-layout branch October 2, 2026 22:34
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