Skip to content

feat: pre-release validation — 34 edge case tests, no bugs found#65

Merged
avrabe merged 5 commits intomainfrom
feat/prerelease-validation
Mar 22, 2026
Merged

feat: pre-release validation — 34 edge case tests, no bugs found#65
avrabe merged 5 commits intomainfrom
feat/prerelease-validation

Conversation

@avrabe
Copy link
Contributor

@avrabe avrabe commented Mar 22, 2026

Summary

Comprehensive validation before v0.1.0 release. Tested all 13 pre-release concerns. No bugs found.

Tests added (34 new, 885 total)

  • Constant materialization (8): -1, 0, 255, 256, 65536, i32::MAX, i32::MIN — all correct
  • Callee-saved restoration (5): all exit paths (return, br, unreachable, nested) restore registers
  • i64 division (4): pseudo-ops, register allocation, div-by-zero trap, overflow trap
  • Large function (1): 80+ ops, no panic, bounded output
  • Negative tests (8): invalid input → clean errors, never panics
  • Pipeline integration (9): WAT→WASM→decode→select end-to-end

Docs

  • CLAUDE.md: test count 885+, 16 crates in map
  • coq/STATUS.md: verified 188 Qed / 52 Admitted matches reality

Findings

All 13 concerns validated clean. No bugs, no truncation, no clobbering, no panics on invalid input.

Test plan

  • cargo test --workspace — 885 tests, 0 failures
  • cargo clippy — clean
  • cargo fmt --check — clean

🤖 Generated with Claude Code

avrabe and others added 5 commits March 22, 2026 06:02
Comprehensive validation for v0.1.0 release readiness:

Constant materialization (8 tests):
- i32.const -1, 0, 255, 256, 65536, i32::MAX, i32::MIN
- All produce correct MOVW/MOVT/MVN sequences — no bugs found

Callee-saved register restoration (5 tests):
- Normal end, Return opcode, Unreachable, br-out, nested return
- All exit paths emit proper POP {R4-R8, PC} — no bugs found

i64 division (4 tests):
- Pseudo-op emission, register allocation, div-by-zero trap, overflow trap
- All correct — no bugs found

Large function stress test (1 test + WAST file):
- 80+ WASM ops, nested loops, br_table, arithmetic chains
- No register allocator panic, bounded instruction count

Negative tests (8 tests):
- Empty/truncated/invalid WASM, syntax errors, SIMD on non-Helium
- All produce clean errors, never panics

Pre-release integration tests (9 tests):
- Full WAT→WASM→decode→select pipeline
- Garbage input, const edge cases, large function pipeline

CLAUDE.md: updated test count (885+), expanded crate map (16 entries)
coq/STATUS.md: verified current (188 Qed / 52 Admitted confirmed)

885 tests, 0 failures, clippy clean, fmt clean.

Trace: skip

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
OSxCAR anti-pinch modules use f64 (double-precision) math internally.
Cortex-M4F only has single-precision FPU. Cortex-M7DP has the
double-precision FPU needed to run f64 natively.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Uses cargo-llvm-cov with nightly toolchain to generate LCOV coverage,
uploaded to Codecov via organization-wide token. Excludes synth-verify
(needs Z3), synth-qemu, and alternative backends from coverage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codecov
Copy link

codecov bot commented Mar 22, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@avrabe avrabe merged commit 75d4de7 into main Mar 22, 2026
14 of 15 checks passed
@avrabe avrabe deleted the feat/prerelease-validation branch March 22, 2026 10:27
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.

1 participant