wavefnd / wavefnd/Wave

Replace remaining generated platform copies with layer-specific functional workloads

Open
#542 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted multi-os testing
Dominant language
Rust
Stars
53
Forks
16
Avg merge
4h 22m
Merged PRs (30d)
46

Description

The generator still builds each numbered target case from the same shared test104–test113 body plus a repeated target checksum/aggregate checkpoint. Selected cases were strengthened in #520, but the remaining generated copies do not establish that each OS/architecture cell exercises its own platform behavior. Repeating a sizeable algorithm is not equivalent to covering different failure modes.

The intended division is: shared cases for language features/algorithms; shared/ for argument registers, stack spill, returns, alignment and integer extension; / for native file/memory/socket/event operations and their ABI, combined with real workloads.

Source evidence at the head of #520:

- [tools/populate_case_matrix.py:95](https://github.com/wavefnd/Wave/blob/2ae0a91c57fd76323124c0e4dff552adbfadbe1b/tools/populate_case_matrix.py#L95) — `def generated_case`
- [tools/populate_case_matrix.py:96](https://github.com/wavefnd/Wave/blob/2ae0a91c57fd76323124c0e4dff552adbfadbe1b/tools/populate_case_matrix.py#L96) — `source = CASES_ROOT / "shared"`

Acceptance:

- [ ] Audit the remaining generated cases and replace a coherent first group with distinct, deterministic, bounded-resource workloads at the proper layer.
- [ ] Preserve existing tests by strengthening or adding cases; do not delete coverage to reduce duplication.
- [ ] Use architecture-specific ABI pressure and OS operations with observable results, not assembly-only filler or unconditional success.
- [ ] Include varied valid syntax/layouts with readable multi-line code; keep tests/cases README concise rather than creating a case-by-case catalog.
- [ ] Keep generator refresh from restoring replaced copies, and record compile-only versus executed coverage accurately.

Related: #461 covers generator regression tests, #458 CPU profiles, and #459 shared portability. This issue concerns workload substance and division by layer.

Audit status: identified by static source inspection; the scenarios above have not been executed during this audit. The permalink fixes the reviewed revision; this report does not claim the defect was introduced by #520.

Contributor guide

Open the contributing guide

Research direction

Start in tools/populate_case_matrix.py at generated_case and audit the remaining generated cases against shared, shared/, and / layers. Review the cases and README, then refresh the generator output to verify replaced copies stay replaced. Done means a coherent first group has bounded, deterministic workloads with observable results and accurate compile-only versus executed coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
compilers, operating-systems, testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.