Skip to content

refactor(test): split codegen regressions into focused suites - #1076

Merged
LunaStev merged 4 commits into
wavefnd:masterfrom
hiyouwhatsapp:refactor/codegen-regression-suites-771
Nov 4, 2026
Merged

LunaStev merged 4 commits into
wavefnd:masterfrom
hiyouwhatsapp:refactor/codegen-regression-suites-771

Conversation

@hiyouwhatsapp

Copy link
Copy Markdown
Contributor

Fixes #771

The codegen regression file mixed language semantics, target ABI checks, platform tests and diagnostics in more than 7,000 lines

I moved all 106 existing tests into four focused modules and put their shared setup, fixture isolation and run helpers in one support file

Kept the codegen_regressions Cargo target, individual test names, feature gates and process timeouts intact so the existing CI and release commands still select the same cases

Added a short guide to the new suite layout and the existing test commands

The code and tests are moved without intentional behavior changes

Haven't run the Rust test suite locally, CI still needs to verify the split

Keep the existing Cargo integration test name and feature gates while moving 106 tests into language, ABI, platform and diagnostics modules

Extract shared fixture helpers and document the unchanged per-test CI filters

Signed-off-by: hiyouwhatsapp <89997383+hiyouwhatsapp@users.noreply.github.com>
…ites

Use complete Rust function boundaries so fixtures containing top-level Wave braces remain inside their original tests

Signed-off-by: hiyouwhatsapp <89997383+hiyouwhatsapp@users.noreply.github.com>

@LunaStev LunaStev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reviewed commit ea23c11d46600403dd9901b8256d3b28ace8d22b.

I parsed the original suite and all five destination source files with syn and compared each top-level function's token stream, including attributes/signatures/bodies, by name. Both sides contain exactly 135 functions and 106 tests, with no missing, added or changed function token streams. The shared helpers remain included in the parent module, and the existing workflow filters are substring filters, so the added module prefixes do not by themselves break those selections. This is structural preservation evidence, not a claim that the complete runtime suite was rerun.

Required correction: the existing formatting gate fails

Reproduce from the PR checkout:

cargo +1.89.0 fmt --all -- --check
rustfmt +1.89.0 --edition 2021 --check tests/codegen/support.rs

The entrypoint's module declarations are out of rustfmt's order. The directly checked support file also retains long runs of empty lines between moved helpers (for example after line 154). Both failures were reproduced locally.

Please format the touched files, including the file brought in by include!, and retain the same test bodies, cfg attributes, helper sharing, timeout behavior and Cargo integration target. No additional source/test splitting or production refactor is needed to address this review.

After formatting, verify the 106-test inventory under the normal target configuration and the existing restricted-backend selection commands. I found no separate behavioral change in the moved function bodies.

Comment thread tests/codegen_regressions.rs Outdated
("x86_64-pc-windows-gnu", "x86_64-pc-windows-msvc"),
("x86_64-w64-windows-gnu", "x86_64-pc-windows-msvc"),
("aarch64-pc-windows-gnu", "aarch64-pc-windows-msvc"),
("aarch64-w64-windows-gnu", "aarch64-pc-w

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

[P2] This module order fails cargo +1.89.0 fmt --all -- --check; rustfmt orders these declarations as abi, diagnostics, language, platform. Also run rustfmt directly on the included tests/codegen/support.rs, which has long runs of empty lines. The function-token comparison preserved all 135 functions/106 tests; the requested fix is limited to formatting.

@LunaStev LunaStev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Re-reviewed the exact updated head c6e090a.

The prior formatting requests are resolved, including the include!-loaded support file. A syntax-tree/token comparison preserves all 135 top-level functions and all 106 tests with their attributes, signatures and bodies. The Cargo integration-test target, feature gates and timeout contracts remain intact.

All touched Rust files pass pinned Rust 1.89 formatting. The exact-head PR CI run 41702008113 is completed/success with all 50 checks successful, including native platform and package lanes.

I found no remaining actionable blocker in this patch. The function comparison is structural preservation evidence; native/runtime validation here is supplied by the successful exact-head CI, not a claim of an additional local full-suite rerun.

@LunaStev
LunaStev merged commit e5305ed into wavefnd:master Nov 4, 2026
50 checks passed
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.

Split codegen regressions into focused integration suites

2 participants