misc: bump to 0.17.1 and add spec tests#60
Draft
q82419 wants to merge 5 commits into
Draft
Conversation
- Wrap the new WasmEdge_LimitContext as the Limit context type, following the same structure as the other type contexts (FunctionType, etc.), with the 64-bit limit constructors for the memory64 proposal and the IsEqual API. Remove NewLimitShared (shared limits require a max in WasmEdge 0.17.1). - Widen the memory/table instance offset/size APIs to 64-bit. - Add Configure.SetRunMode/GetRunMode (interpreter/JIT/AOT) and Configure.SetWASMStandard (WASM 1.0/2.0/3.0), replacing the deprecated force-interpreter configuration. - Add SetLogLevel with the LogLevel enumeration. - Add NewWasiModuleWithFds/InitWasiWithFds. - Add VM.RegisterModuleWithAlias, VM.ForceDeleteRegisteredModule, and Executor.RegisterImportWithAlias. - Add the generic Ref value type for GC proposal references, and IsNull for FuncRef/ExternRef/Ref. - Remove all wasm-bindgen support (VM.ExecuteBindgen*, bindgen consts). - Fix nil pointer dereference in FunctionType.GetParameters/GetReturns. - Replace deprecated reflect.SliceHeader usage with unsafe.Slice. - Fix main.go smoke test which referenced a nonexistent constant. Assisted-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: YiYing He <yiying@secondstate.io>
Go 1.25 is the lowest non-EOL Go release. Assisted-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: YiYing He <yiying@secondstate.io>
Covers configure, limits, values (v128/funcref/externref), AST loading/validation and type listing, module/table/memory/global instances, host functions and calling frames, executor, store, VM workflows (incl. WASI, async, registered modules), compiler (universal and native AOT outputs), JIT/AOT run modes, statistics, results, plug-ins, and the CLI drivers, with wat2wasm-generated fixtures in wasmedge/testdata. Also fixes two issues found by the tests: - Rebuild NewExternRef on WasmEdge_ValueGenExternRef. The previous implementation forged the value from an i64 and crashed the 0.17.x runtime, which keeps reference metadata in the value payload. - Document that VM.ForceDeleteRegisteredModule destroys the module instance, and make releasing a consumed ExternRef fail loudly even on copies of the value. Assisted-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: YiYing He <yiying@secondstate.io>
Add the spectest package which runs the wast2json-converted WASM spec test suites from WasmEdge/wasmedge-spectest (wasm-core-20260322) against the Go bindings, mirroring the WasmEdge C API spec tests: - All suite folders of WasmEdge test/spec except component-model: wasm-1.0/2.0/3.0, the wasm-3.0 proposal folders, and threads (including the thread/wait commands via shared module instances). - Interpreter, AOT (native output per module), and JIT modes; the exception-handling folder runs in interpreter mode only. - The suites are downloaded and cached under spectest/testdata on the first run (override with WASMEDGE_SPECTEST_PATH). Supporting changes in the bindings: - Add NewNullExternRef and support nil in NewFuncRef for null reference values, needed by the suite arguments. - The spec tests re-execute themselves with GODEBUG=asyncpreemptoff=1: the WasmEdge trap handlers are installed without SA_ONSTACK, which the Go runtime rejects when its preemption signal interrupts a compiled-code execution window. All 495 units pass in all enabled modes on macOS arm64 against WasmEdge 0.17.1. Assisted-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: YiYing He <yiying@secondstate.io>
- README: WasmEdge 0.17.1 with the install_v2.sh installer, Go >= 1.25, and a testing section for the unit and spec tests. - CI: build and test with Go 1.25/1.26 against WasmEdge 0.17.1, run the unit tests and all spec test modes, and drop the removed wasm-bindgen examples from the examples workflow. - Bazel: bump the module to 0.17.1, the Go SDK to 1.25.0, the wasmedge_c archives to the 0.17.1 release assets, and list the new source and test files. - Changelog: add the v0.17.1 section. Assisted-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: YiYing He <yiying@secondstate.io>
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.
No description provided.