Document the wave-test metadata contract
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
## Problem
Wave E2E sources use `// wave-test:` metadata, but the supported keys, defaults, validation rules, and runner modes are only discoverable by reading Python implementation files.
## Scope
Add a focused test-suite guide, preferably under `tests/`, documenting:
- `mode` and `runner` combinations.
- Host OS and architecture filters.
- Target, emit kind, and freestanding compilation.
- Expected exit status.
- ELF machine/class and RISC-V float ABI checks.
- Assembly contains/not-contains checks.
- UDP input handling.
- How `--only`, `--skip`, and JSON reports work.
- How to add a portable test without creating filename-specific Python logic.
Coordinate the document with any newly accepted metadata such as `stdin-file`.
## Completion criteria
- [ ] Every currently supported metadata key is documented.
- [ ] Defaults and invalid combinations are explicit.
- [ ] At least one native-run and one cross-compile example are included.
- [ ] Contributor documentation links to the guide.
Contributor guide
Research direction
Start with the Python implementation files that define wave-test metadata and the existing tests under tests/; map supported keys, defaults, validation, runner modes, and the requested examples. Add the focused guide under tests/, coordinate accepted metadata such as stdin-file, and link it from contributor documentation. Done means every supported key and invalid combination is covered, with native-run and cross-compile examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- documentation, testing-qa
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100