Fix runtime boundaries and release validation gaps - #817
Merged
LunaStev merged 2 commits intoSep 30, 2026
Merged
Conversation
Signed-off-by: LunaStev <luna@lunastev.org>
Signed-off-by: LunaStev <luna@lunastev.org>
This was referenced Sep 30, 2026
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix two runtime boundary errors and make release checks reject missing work, invalid artifacts, unsafe report destinations, and unrelated server responses.
getcwdresults and reject oversized POSIX descriptors before narrowing them.Motivation
These are the selected stabilization fixes for the October 5 release. Previously, a report could overwrite an input, an empty or incomplete check could pass, and a server response could be accepted without establishing that the launched test supplied it.
Fixes #811
Fixes #814
Fixes #807
Fixes #812
Fixes #808
Fixes #809
Fixes #810
Fixes #514
Fixes #562
Fixes #580
Fixes #506
Fixes #713
Fixes #561
Fixes #560
Fixes #487
Target and compatibility impact
test14/main.waveexercises both the directory-case runner and the corrected environment API.Validation
Rust 1.89, LLVM 21 (
LLVM_SYS_211_PREFIX=/usr/lib64/llvm21), Cargo--locked --jobs 2:tools.test_*Python modules: 183 tests, 157 passed and 26 conditional skips. Invoked withpython3 -m unittestand the sorted module list derived fromtools/test_*.py.python3 -m unittest tools.test_server_case tools.test_case_execution tools.test_run_tests(20 passed) andpython3 -m unittest tools.test_release_gates.PolicyTests(3 passed).cargo +1.89 test --locked --jobs 2 --test native_providers cwd_accepts_zero_successandcargo +1.89 test --locked --jobs 2 --test native_providers native_provider_fixtures_compile_and_run_on_their_hostpassed. New fixtures exercised Linux amd64 at O0/O2 and emitted objects for the applicable supported native targets.cargo +1.89 test --locked --no-default-features --features llvm-target-wasm --test frontend_regressions --jobs 2: 11 passed. The equivalentllvm-target-loongarchcommand: 10 passed.test14/main.wavecompiled and statically linked without libc at O0/O2.cargo +1.89 clippy --locked --jobs 2 --test native_providers -- -D warnings,cargo +1.89 fmt --all -- --check,bash tools/check_std_policy.sh, workflow YAML parsing, andgit diff --checkpassed.Native macOS, Windows, and FreeBSD execution remains for CI; cross-compilation and FreeBSD static linking are not claimed as native runtime validation. The broader post-PR audit is outside this change.
CI follow-up
ripgrepbefore the std policy check. The initial build failed becausergwas unavailable; the release validation job now provisions the same prerequisite. Missing search tools still fail the policy check./varand/private/varaliases. Explicit compiler paths,WAVEC, and runtime checkout/std paths have directory-symlink regression coverage.python3 -m unittest tools.test_check_wave_corpus tools.test_runtime_cases tools.test_release_gates.PolicyTestspassed all 28 tests. Workflow YAML parsing, policy prerequisite checks, andgit diff --checkpassed. Native macOS execution of this follow-up remains for CI.Deferred WebAssembly host dependencies
The initial runtime run reports 63 failing shared cases on each of wasm32-unknown, wasm32-WASI, and wasm64-unknown. For the unknown targets, 62 failures require
env.printfandshared/test67.waverequiresenv.puts; WASI likewise lacks the requiredenvimports. The compile-only reports passed.Base PR #816 expanded shared runtime selection. Source comparison between its merge commit
ca205e6eee3e7cf4d1fada463e2fbd4bd3c6f986and the initial #817 commit604b777e83d75551797f63899264f2421e966e96shows no changes to print lowering (llvm/src/statement/io.rs), host import setup (src/cli.rs), case selection (tools/case_manifest.py,tests/cases/cases.toml), or the representativetest11.wave/test67.wavefixtures. This supports an existing host-dependency gap exposed by expanded selection, rather than a new compiler/runtime regression introduced here; a separate base-build runtime comparison was not performed.Per the agreed scope, these WASM failures remain visible and are deferred to separate work. This PR adds no host shim or passing exception and does not change WASM case semantics or #459 runtime classification. The overall CI is therefore not claimed to be green.
Checklist
Signed-off-byline.std/.