wavefnd / wavefnd/Wave

Document the wave-test metadata contract

Open
#357 0 comments 0 reactions 0 assignees View on GitHub
documentation good first issue
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.