Mark shared Wave cases as compile-portable or runtime-portable
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
## Problem
PR #457 makes `shared/` compile on every enabled target, but QEMU and WebAssembly runtime selection cannot safely execute every shared case. Some otherwise portable sources require process I/O or custom WebAssembly host imports. The current runner therefore executes only `shared/` and `/` for those targets.
## Scope
- Define an explicit, backend-neutral contract for cases that are safe to execute on a target runtime.
- Distinguish compile portability from runtime portability and required host capabilities.
- Make `runtime-sources` include eligible root `shared/` cases.
- Keep missing browser host imports aligned with #453 and target capability diagnostics aligned with #451.
- Add unit tests for native, QEMU, bare WebAssembly, and WASI selection.
## Completion criteria
- Self-contained shared cases run under every compatible enabled target.
- Cases requiring unavailable host services remain compiled but are excluded or reported as capability skips.
- Selection is manifest/metadata driven, not based on filenames or source-text heuristics.
Contributor guide
Research direction
Start by tracing the runtime-sources selection and the existing shared/ and / paths. Review how target capabilities, browser host imports, and capability diagnostics relate to #453 and #451, then add unit tests for native, QEMU, bare WebAssembly, and WASI selection. Done means metadata-driven selection includes compatible root shared/ cases while skipping or reporting unavailable host services.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100