MU-Software edited PR #11861.
MU-Software edited PR #11861:
This PR makes wasmtime exceptions configuration available through the C API.
The goal is to let downstream bindings like wasmtime-py configure exceptions proposal directly. (Yeah, That's what I'm trying to do :yum:)This is similar in spirit to #7811, which also added configuration.
Verified that the new API compiles and links correctly via the C API build (
cargo build --release --manifest-path crates/c-api/Cargo.toml).
MU-Software updated PR #11861.
alexcrichton commented on PR #11861:
Thanks for the PR! This is actually missing the Rust-side implementation, though, for example a copy of this function. While the C API builds the error would come about when an external embedding (e.g. wasmtime-py) would lookup the symbol and that would fail. If you'd like you could add a test too which wuold expose the linking failure, but this is a pretty minor function so it's also ok to skip the test.
MU-Software updated PR #11861.
MU-Software commented on PR #11861:
Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!
<details>
<summary>Test result</summary>CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test Running tests... Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build Start 1: anyref-c 1/96 Test #1: anyref-c ......................... Passed 0.82 sec Start 2: anyref-cpp-c 2/96 Test #2: anyref-cpp-c ..................... Passed 0.86 sec Start 3: async-c 3/96 Test #3: async-c .......................... Passed 1.84 sec Start 4: externref-c 4/96 Test #4: externref-c ...................... Passed 1.02 sec Start 5: externref-cpp-c 5/96 Test #5: externref-cpp-c .................. Passed 0.82 sec Start 6: fib-debug-c 6/96 Test #6: fib-debug-c ...................... Passed 0.84 sec Start 7: fuel-c 7/96 Test #7: fuel-c ........................... Passed 0.83 sec Start 8: fuel-cpp-c 8/96 Test #8: fuel-cpp-c ....................... Passed 0.83 sec Start 9: gcd-c 9/96 Test #9: gcd-c ............................ Passed 0.84 sec Start 10: gcd-cpp-c 10/96 Test #10: gcd-cpp-c ........................ Passed 0.80 sec Start 11: hello-c 11/96 Test #11: hello-c .......................... Passed 0.83 sec Start 12: hello-cpp-c 12/96 Test #12: hello-cpp-c ...................... Passed 0.86 sec Start 13: interrupt-c 13/96 Test #13: interrupt-c ...................... Passed 1.83 sec Start 14: interrupt-cpp-c 14/96 Test #14: interrupt-cpp-c .................. Passed 1.84 sec Start 15: linking-c 15/96 Test #15: linking-c ........................ Passed 1.07 sec Start 16: linking-cpp-c 16/96 Test #16: linking-cpp-c .................... Passed 0.82 sec Start 17: memory-c 17/96 Test #17: memory-c ......................... Passed 0.84 sec Start 18: memory-cpp-c 18/96 Test #18: memory-cpp-c ..................... Passed 0.87 sec Start 19: multi-c 19/96 Test #19: multi-c .......................... Passed 0.82 sec Start 20: multi-cpp-c 20/96 Test #20: multi-cpp-c ...................... Passed 0.83 sec Start 21: multimemory-c 21/96 Test #21: multimemory-c .................... Passed 0.83 sec Start 22: multimemory-cpp-c 22/96 Test #22: multimemory-cpp-c ................ Passed 0.84 sec Start 23: serialize-c 23/96 Test #23: serialize-c ...................... Passed 0.82 sec Start 24: serialize-cpp-c 24/96 Test #24: serialize-cpp-c .................. Passed 0.86 sec Start 25: threads-c 25/96 Test #25: threads-c ........................ Passed 1.15 sec Start 26: threads-cpp-c 26/96 Test #26: threads-cpp-c .................... Passed 1.17 sec Start 27: wasip1-c 27/96 Test #27: wasip1-c ......................... Passed 0.94 sec Start 28: wasip1-cpp-c 28/96 Test #28: wasip1-cpp-c ..................... Passed 1.13 sec Start 29: Engine.Smoke 29/96 Test #29: Engine.Smoke ..................... Passed 0.03 sec Start 30: Engine.Simple 30/96 Test #30: Engine.Simple .................... Passed 0.01 sec Start 31: wat2wasm.Smoke 31/96 Test #31: wat2wasm.Smoke ................... Passed 0.01 sec Start 32: wat2wasm.Simple 32/96 Test #32: wat2wasm.Simple .................. Passed 0.01 sec Start 33: Module.Smoke 33/96 Test #33: Module.Smoke ..................... Passed 0.02 sec Start 34: Module.Serialize 34/96 Test #34: Module.Serialize ................. Passed 0.01 sec Start 35: Module.Simple 35/96 Test #35: Module.Simple .................... Passed 0.01 sec Start 36: ExternRef.Smoke 36/96 Test #36: ExternRef.Smoke .................. Passed 0.01 sec Start 37: Caller.Smoke 37/96 Test #37: Caller.Smoke ..................... Passed 0.03 sec Start 38: Func.Smoke 38/96 Test #38: Func.Smoke ....................... Passed 0.01 sec Start 39: Data.Smoke 39/96 Test #39: Data.Smoke ....................... Passed 0.01 sec Start 40: ValType.Smoke 40/96 Test #40: ValType.Smoke .................... Passed 0.01 sec Start 41: ValType.Simple 41/96 Test #41: ValType.Simple ................... Passed 0.01 sec Start 42: MemoryType.Smoke 42/96 Test #42: MemoryType.Smoke ................. Passed 0.01 sec Start 43: MemoryType.SixtyFour 43/96 Test #43: MemoryType.SixtyFour ............. Passed 0.01 sec Start 44: MemoryType.Simple 44/96 Test #44: MemoryType.Simple ................ Passed 0.01 sec Start 45: MemoryType.WithMax 45/96 Test #45: MemoryType.WithMax ............... Passed 0.01 sec Start 46: MemoryType.Mem64 46/96 Test #46: MemoryType.Mem64 ................. Passed 0.01 sec Start 47: MemoryType.Builder 47/96 Test #47: MemoryType.Builder ............... Passed 0.01 sec Start 48: TableType.Smoke 48/96 Test #48: TableType.Smoke .................. Passed 0.01 sec Start 49: TableType.Simple 49/96 Test #49: TableType.Simple ................. Passed 0.01 sec Start 50: GlobalType.Smoke 50/96 Test #50: GlobalType.Smoke ................. Passed 0.01 sec Start 51: GlobalType.Simple 51/96 Test #51: GlobalType.Simple ................ Passed 0.01 sec Start 52: ModuleType.Smoke 52/96 Test #52: ModuleType.Smoke ................. Passed 0.01 sec Start 53: ValKind.String 53/96 Test #53: ValKind.String ................... Passed 0.01 sec Start 54: FuncType.Smoke 54/96 Test #54: FuncType.Smoke ................... Passed 0.01 sec Start 55: ImportType.Smoke 55/96 Test #55: ImportType.Smoke ................. Passed 0.01 sec Start 56: ExportType.Smoke 56/96 Test #56: ExportType.Smoke ................. Passed 0.01 sec Start 57: ExternType.Smoke 57/96 Test #57: ExternType.Smoke ................. Passed 0.01 sec Start 58: TypedFunc.Smoke 58/96 Test #58: TypedFunc.Smoke .................. Passed 0.01 sec Start 59: TypedFunc.Call 59/96 Test #59: TypedFunc.Call ................... Passed 0.01 sec Start 60: TypedFunc.WrapAndTypes 60/96 Test #60: TypedFunc.WrapAndTypes ........... Passed 0.01 sec Start 61: TypedFunc.WrapRuntime 61/96 Test #61: TypedFunc.WrapRuntime ............ Passed 0.01 sec Start 62: component.instantiate 62/96 Test #62: component.instantiate ............ Passed 0.01 sec Start 63: component.define_module 63/96 Test #63: component.define_module .......... Passed 0.01 sec Start 64: component.lookup_func 64/96 Test #64: component.lookup_func ............ Passed 0.01 sec Start 65: component.call_func 65/96 Test #65: component.call_func .............. Passed 0.01 sec Start 66: component.value_record 66/96 Test #66: component.value_record ........... Passed 0.02 sec Start 67: component.value_string 67/96 Test #67: component.value_string ........... Passed 0.01 sec Start 68: component.value_list 68/96 Test #68: component.value_list ............. Passed 0.01 sec Start 69: component.value_tuple 69/96 Test #69: component.value_tuple ............ Passed 0.01 sec Start 70: component.value_variant 70/96 Test #70: component.value_variant .......... Passed 0.01 sec Start 71: component.value_enum 71/96 Test #71: component.value_enum ............. Passed 0.01 sec Start 72: component.value_option 72/96 Test #72: component.value_option ........... Passed 0.01 sec Start 73: component.value_result 73/96 Test #73: component.value_result ........... Passed 0.01 sec Start 74: component.value_flags 74/96 Test #74: component.value_flags ............ Passed 0.01 sec Start 75: component.value_list_inner 75/96 Test #75: component.value_list_inner ....... Passed 0.01 sec Start 76: Result.Simple 76/96 Test #76: Result.Simple .................... Passed 0.01 sec Start 77: Error.Simple 77/96 Test #77: Error.Simple ..................... Passed 0.01 sec Start 78: PoolAllocationConfig.Smoke 78/96 Test #78: PoolAllocationConfig.Smoke ....... Passed 0.01 sec Start 79: Config.Smoke 79/96 Test #79: Config.Smoke ..................... Passed 0.01 sec Start 80: Config.MemoryCreator 80/96 Test #80: Config.MemoryCreator ............. Passed 0.01 sec Start 81: Trap.Smoke 81/96 Test #81: Trap.Smoke ....................... Passed 0.01 sec Start 82: Trap.Codes 82/96 Test #82: Trap.Codes ....................... Passed 0.01 sec Start 83: WasiConfig.Smoke 83/96 Test #83: WasiConfig.Smoke ................. Passed 0.01 sec Start 84: Store.Smoke 84/96 Test #84: Store.Smoke ...................... Passed 0.01 sec Start 85: Val.Smoke 85/96 Test #85: Val.Smoke ........................ Passed 0.01 sec Start 86 [message truncated]
MU-Software edited a comment on PR #11861:
Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!
<details>
<summary>Test result</summary>CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test Running tests... Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build Start 1: anyref-c 1/96 Test #1: anyref-c ......................... Passed 0.82 sec Start 2: anyref-cpp-c 2/96 Test #2: anyref-cpp-c ..................... Passed 0.86 sec Start 3: async-c 3/96 Test #3: async-c .......................... Passed 1.84 sec Start 4: externref-c 4/96 Test #4: externref-c ...................... Passed 1.02 sec Start 5: externref-cpp-c 5/96 Test #5: externref-cpp-c .................. Passed 0.82 sec Start 6: fib-debug-c 6/96 Test #6: fib-debug-c ...................... Passed 0.84 sec Start 7: fuel-c 7/96 Test #7: fuel-c ........................... Passed 0.83 sec Start 8: fuel-cpp-c 8/96 Test #8: fuel-cpp-c ....................... Passed 0.83 sec Start 9: gcd-c 9/96 Test #9: gcd-c ............................ Passed 0.84 sec Start 10: gcd-cpp-c 10/96 Test #10: gcd-cpp-c ........................ Passed 0.80 sec Start 11: hello-c 11/96 Test #11: hello-c .......................... Passed 0.83 sec Start 12: hello-cpp-c 12/96 Test #12: hello-cpp-c ...................... Passed 0.86 sec Start 13: interrupt-c 13/96 Test #13: interrupt-c ...................... Passed 1.83 sec Start 14: interrupt-cpp-c 14/96 Test #14: interrupt-cpp-c .................. Passed 1.84 sec Start 15: linking-c 15/96 Test #15: linking-c ........................ Passed 1.07 sec Start 16: linking-cpp-c 16/96 Test #16: linking-cpp-c .................... Passed 0.82 sec Start 17: memory-c 17/96 Test #17: memory-c ......................... Passed 0.84 sec Start 18: memory-cpp-c 18/96 Test #18: memory-cpp-c ..................... Passed 0.87 sec Start 19: multi-c 19/96 Test #19: multi-c .......................... Passed 0.82 sec Start 20: multi-cpp-c 20/96 Test #20: multi-cpp-c ...................... Passed 0.83 sec Start 21: multimemory-c 21/96 Test #21: multimemory-c .................... Passed 0.83 sec Start 22: multimemory-cpp-c 22/96 Test #22: multimemory-cpp-c ................ Passed 0.84 sec Start 23: serialize-c 23/96 Test #23: serialize-c ...................... Passed 0.82 sec Start 24: serialize-cpp-c 24/96 Test #24: serialize-cpp-c .................. Passed 0.86 sec Start 25: threads-c 25/96 Test #25: threads-c ........................ Passed 1.15 sec Start 26: threads-cpp-c 26/96 Test #26: threads-cpp-c .................... Passed 1.17 sec Start 27: wasip1-c 27/96 Test #27: wasip1-c ......................... Passed 0.94 sec Start 28: wasip1-cpp-c 28/96 Test #28: wasip1-cpp-c ..................... Passed 1.13 sec Start 29: Engine.Smoke 29/96 Test #29: Engine.Smoke ..................... Passed 0.03 sec Start 30: Engine.Simple 30/96 Test #30: Engine.Simple .................... Passed 0.01 sec Start 31: wat2wasm.Smoke 31/96 Test #31: wat2wasm.Smoke ................... Passed 0.01 sec Start 32: wat2wasm.Simple 32/96 Test #32: wat2wasm.Simple .................. Passed 0.01 sec Start 33: Module.Smoke 33/96 Test #33: Module.Smoke ..................... Passed 0.02 sec Start 34: Module.Serialize 34/96 Test #34: Module.Serialize ................. Passed 0.01 sec Start 35: Module.Simple 35/96 Test #35: Module.Simple .................... Passed 0.01 sec Start 36: ExternRef.Smoke 36/96 Test #36: ExternRef.Smoke .................. Passed 0.01 sec Start 37: Caller.Smoke 37/96 Test #37: Caller.Smoke ..................... Passed 0.03 sec Start 38: Func.Smoke 38/96 Test #38: Func.Smoke ....................... Passed 0.01 sec Start 39: Data.Smoke 39/96 Test #39: Data.Smoke ....................... Passed 0.01 sec Start 40: ValType.Smoke 40/96 Test #40: ValType.Smoke .................... Passed 0.01 sec Start 41: ValType.Simple 41/96 Test #41: ValType.Simple ................... Passed 0.01 sec Start 42: MemoryType.Smoke 42/96 Test #42: MemoryType.Smoke ................. Passed 0.01 sec Start 43: MemoryType.SixtyFour 43/96 Test #43: MemoryType.SixtyFour ............. Passed 0.01 sec Start 44: MemoryType.Simple 44/96 Test #44: MemoryType.Simple ................ Passed 0.01 sec Start 45: MemoryType.WithMax 45/96 Test #45: MemoryType.WithMax ............... Passed 0.01 sec Start 46: MemoryType.Mem64 46/96 Test #46: MemoryType.Mem64 ................. Passed 0.01 sec Start 47: MemoryType.Builder 47/96 Test #47: MemoryType.Builder ............... Passed 0.01 sec Start 48: TableType.Smoke 48/96 Test #48: TableType.Smoke .................. Passed 0.01 sec Start 49: TableType.Simple 49/96 Test #49: TableType.Simple ................. Passed 0.01 sec Start 50: GlobalType.Smoke 50/96 Test #50: GlobalType.Smoke ................. Passed 0.01 sec Start 51: GlobalType.Simple 51/96 Test #51: GlobalType.Simple ................ Passed 0.01 sec Start 52: ModuleType.Smoke 52/96 Test #52: ModuleType.Smoke ................. Passed 0.01 sec Start 53: ValKind.String 53/96 Test #53: ValKind.String ................... Passed 0.01 sec Start 54: FuncType.Smoke 54/96 Test #54: FuncType.Smoke ................... Passed 0.01 sec Start 55: ImportType.Smoke 55/96 Test #55: ImportType.Smoke ................. Passed 0.01 sec Start 56: ExportType.Smoke 56/96 Test #56: ExportType.Smoke ................. Passed 0.01 sec Start 57: ExternType.Smoke 57/96 Test #57: ExternType.Smoke ................. Passed 0.01 sec Start 58: TypedFunc.Smoke 58/96 Test #58: TypedFunc.Smoke .................. Passed 0.01 sec Start 59: TypedFunc.Call 59/96 Test #59: TypedFunc.Call ................... Passed 0.01 sec Start 60: TypedFunc.WrapAndTypes 60/96 Test #60: TypedFunc.WrapAndTypes ........... Passed 0.01 sec Start 61: TypedFunc.WrapRuntime 61/96 Test #61: TypedFunc.WrapRuntime ............ Passed 0.01 sec Start 62: component.instantiate 62/96 Test #62: component.instantiate ............ Passed 0.01 sec Start 63: component.define_module 63/96 Test #63: component.define_module .......... Passed 0.01 sec Start 64: component.lookup_func 64/96 Test #64: component.lookup_func ............ Passed 0.01 sec Start 65: component.call_func 65/96 Test #65: component.call_func .............. Passed 0.01 sec Start 66: component.value_record 66/96 Test #66: component.value_record ........... Passed 0.02 sec Start 67: component.value_string 67/96 Test #67: component.value_string ........... Passed 0.01 sec Start 68: component.value_list 68/96 Test #68: component.value_list ............. Passed 0.01 sec Start 69: component.value_tuple 69/96 Test #69: component.value_tuple ............ Passed 0.01 sec Start 70: component.value_variant 70/96 Test #70: component.value_variant .......... Passed 0.01 sec Start 71: component.value_enum 71/96 Test #71: component.value_enum ............. Passed 0.01 sec Start 72: component.value_option 72/96 Test #72: component.value_option ........... Passed 0.01 sec Start 73: component.value_result 73/96 Test #73: component.value_result ........... Passed 0.01 sec Start 74: component.value_flags 74/96 Test #74: component.value_flags ............ Passed 0.01 sec Start 75: component.value_list_inner 75/96 Test #75: component.value_list_inner ....... Passed 0.01 sec Start 76: Result.Simple 76/96 Test #76: Result.Simple .................... Passed 0.01 sec Start 77: Error.Simple 77/96 Test #77: Error.Simple ..................... Passed 0.01 sec Start 78: PoolAllocationConfig.Smoke 78/96 Test #78: PoolAllocationConfig.Smoke ....... Passed 0.01 sec Start 79: Config.Smoke 79/96 Test #79: Config.Smoke ..................... Passed 0.01 sec Start 80: Config.MemoryCreator 80/96 Test #80: Config.MemoryCreator ............. Passed 0.01 sec Start 81: Trap.Smoke 81/96 Test #81: Trap.Smoke ....................... Passed 0.01 sec Start 82: Trap.Codes 82/96 Test #82: Trap.Codes ....................... Passed 0.01 sec Start 83: WasiConfig.Smoke 83/96 Test #83: WasiConfig.Smoke ................. Passed 0.01 sec Start 84: Store.Smoke 84/96 Test #84: Store.Smoke ...................... Passed 0.01 sec Start 85: Val.Smoke 85/96 Test #85: Val.Smoke ........................ Passed 0.01 sec [message truncated]
MU-Software edited a comment on PR #11861:
Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!
<details>
<summary>Test result</summary>CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test Running tests... Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build Start 1: anyref-c 1/96 Test #1: anyref-c ......................... Passed 0.82 sec Start 2: anyref-cpp-c 2/96 Test #2: anyref-cpp-c ..................... Passed 0.86 sec Start 3: async-c 3/96 Test #3: async-c .......................... Passed 1.84 sec Start 4: externref-c 4/96 Test #4: externref-c ...................... Passed 1.02 sec Start 5: externref-cpp-c 5/96 Test #5: externref-cpp-c .................. Passed 0.82 sec Start 6: fib-debug-c 6/96 Test #6: fib-debug-c ...................... Passed 0.84 sec Start 7: fuel-c 7/96 Test #7: fuel-c ........................... Passed 0.83 sec Start 8: fuel-cpp-c 8/96 Test #8: fuel-cpp-c ....................... Passed 0.83 sec Start 9: gcd-c 9/96 Test #9: gcd-c ............................ Passed 0.84 sec Start 10: gcd-cpp-c 10/96 Test #10: gcd-cpp-c ........................ Passed 0.80 sec Start 11: hello-c 11/96 Test #11: hello-c .......................... Passed 0.83 sec Start 12: hello-cpp-c 12/96 Test #12: hello-cpp-c ...................... Passed 0.86 sec Start 13: interrupt-c 13/96 Test #13: interrupt-c ...................... Passed 1.83 sec Start 14: interrupt-cpp-c 14/96 Test #14: interrupt-cpp-c .................. Passed 1.84 sec Start 15: linking-c 15/96 Test #15: linking-c ........................ Passed 1.07 sec Start 16: linking-cpp-c 16/96 Test #16: linking-cpp-c .................... Passed 0.82 sec Start 17: memory-c 17/96 Test #17: memory-c ......................... Passed 0.84 sec Start 18: memory-cpp-c 18/96 Test #18: memory-cpp-c ..................... Passed 0.87 sec Start 19: multi-c 19/96 Test #19: multi-c .......................... Passed 0.82 sec Start 20: multi-cpp-c 20/96 Test #20: multi-cpp-c ...................... Passed 0.83 sec Start 21: multimemory-c 21/96 Test #21: multimemory-c .................... Passed 0.83 sec Start 22: multimemory-cpp-c 22/96 Test #22: multimemory-cpp-c ................ Passed 0.84 sec Start 23: serialize-c 23/96 Test #23: serialize-c ...................... Passed 0.82 sec Start 24: serialize-cpp-c 24/96 Test #24: serialize-cpp-c .................. Passed 0.86 sec Start 25: threads-c 25/96 Test #25: threads-c ........................ Passed 1.15 sec Start 26: threads-cpp-c 26/96 Test #26: threads-cpp-c .................... Passed 1.17 sec Start 27: wasip1-c 27/96 Test #27: wasip1-c ......................... Passed 0.94 sec Start 28: wasip1-cpp-c 28/96 Test #28: wasip1-cpp-c ..................... Passed 1.13 sec Start 29: Engine.Smoke 29/96 Test #29: Engine.Smoke ..................... Passed 0.03 sec Start 30: Engine.Simple 30/96 Test #30: Engine.Simple .................... Passed 0.01 sec Start 31: wat2wasm.Smoke 31/96 Test #31: wat2wasm.Smoke ................... Passed 0.01 sec Start 32: wat2wasm.Simple 32/96 Test #32: wat2wasm.Simple .................. Passed 0.01 sec Start 33: Module.Smoke 33/96 Test #33: Module.Smoke ..................... Passed 0.02 sec Start 34: Module.Serialize 34/96 Test #34: Module.Serialize ................. Passed 0.01 sec Start 35: Module.Simple 35/96 Test #35: Module.Simple .................... Passed 0.01 sec Start 36: ExternRef.Smoke 36/96 Test #36: ExternRef.Smoke .................. Passed 0.01 sec Start 37: Caller.Smoke 37/96 Test #37: Caller.Smoke ..................... Passed 0.03 sec Start 38: Func.Smoke 38/96 Test #38: Func.Smoke ....................... Passed 0.01 sec Start 39: Data.Smoke 39/96 Test #39: Data.Smoke ....................... Passed 0.01 sec Start 40: ValType.Smoke 40/96 Test #40: ValType.Smoke .................... Passed 0.01 sec Start 41: ValType.Simple 41/96 Test #41: ValType.Simple ................... Passed 0.01 sec Start 42: MemoryType.Smoke 42/96 Test #42: MemoryType.Smoke ................. Passed 0.01 sec Start 43: MemoryType.SixtyFour 43/96 Test #43: MemoryType.SixtyFour ............. Passed 0.01 sec Start 44: MemoryType.Simple 44/96 Test #44: MemoryType.Simple ................ Passed 0.01 sec Start 45: MemoryType.WithMax 45/96 Test #45: MemoryType.WithMax ............... Passed 0.01 sec Start 46: MemoryType.Mem64 46/96 Test #46: MemoryType.Mem64 ................. Passed 0.01 sec Start 47: MemoryType.Builder 47/96 Test #47: MemoryType.Builder ............... Passed 0.01 sec Start 48: TableType.Smoke 48/96 Test #48: TableType.Smoke .................. Passed 0.01 sec Start 49: TableType.Simple 49/96 Test #49: TableType.Simple ................. Passed 0.01 sec Start 50: GlobalType.Smoke 50/96 Test #50: GlobalType.Smoke ................. Passed 0.01 sec Start 51: GlobalType.Simple 51/96 Test #51: GlobalType.Simple ................ Passed 0.01 sec Start 52: ModuleType.Smoke 52/96 Test #52: ModuleType.Smoke ................. Passed 0.01 sec Start 53: ValKind.String 53/96 Test #53: ValKind.String ................... Passed 0.01 sec Start 54: FuncType.Smoke 54/96 Test #54: FuncType.Smoke ................... Passed 0.01 sec Start 55: ImportType.Smoke 55/96 Test #55: ImportType.Smoke ................. Passed 0.01 sec Start 56: ExportType.Smoke 56/96 Test #56: ExportType.Smoke ................. Passed 0.01 sec Start 57: ExternType.Smoke 57/96 Test #57: ExternType.Smoke ................. Passed 0.01 sec Start 58: TypedFunc.Smoke 58/96 Test #58: TypedFunc.Smoke .................. Passed 0.01 sec Start 59: TypedFunc.Call 59/96 Test #59: TypedFunc.Call ................... Passed 0.01 sec Start 60: TypedFunc.WrapAndTypes 60/96 Test #60: TypedFunc.WrapAndTypes ........... Passed 0.01 sec Start 61: TypedFunc.WrapRuntime 61/96 Test #61: TypedFunc.WrapRuntime ............ Passed 0.01 sec Start 62: component.instantiate 62/96 Test #62: component.instantiate ............ Passed 0.01 sec Start 63: component.define_module 63/96 Test #63: component.define_module .......... Passed 0.01 sec Start 64: component.lookup_func 64/96 Test #64: component.lookup_func ............ Passed 0.01 sec Start 65: component.call_func 65/96 Test #65: component.call_func .............. Passed 0.01 sec Start 66: component.value_record 66/96 Test #66: component.value_record ........... Passed 0.02 sec Start 67: component.value_string 67/96 Test #67: component.value_string ........... Passed 0.01 sec Start 68: component.value_list 68/96 Test #68: component.value_list ............. Passed 0.01 sec Start 69: component.value_tuple 69/96 Test #69: component.value_tuple ............ Passed 0.01 sec Start 70: component.value_variant 70/96 Test #70: component.value_variant .......... Passed 0.01 sec Start 71: component.value_enum 71/96 Test #71: component.value_enum ............. Passed 0.01 sec Start 72: component.value_option 72/96 Test #72: component.value_option ........... Passed 0.01 sec Start 73: component.value_result 73/96 Test #73: component.value_result ........... Passed 0.01 sec Start 74: component.value_flags 74/96 Test #74: component.value_flags ............ Passed 0.01 sec Start 75: component.value_list_inner 75/96 Test #75: component.value_list_inner ....... Passed 0.01 sec Start 76: Result.Simple 76/96 Test #76: Result.Simple .................... Passed 0.01 sec Start 77: Error.Simple 77/96 Test #77: Error.Simple ..................... Passed 0.01 sec Start 78: PoolAllocationConfig.Smoke 78/96 Test #78: PoolAllocationConfig.Smoke ....... Passed 0.01 sec Start 79: Config.Smoke 79/96 Test #79: Config.Smoke ..................... Passed 0.01 sec Start 80: Config.MemoryCreator 80/96 Test #80: Config.MemoryCreator ............. Passed 0.01 sec Start 81: Trap.Smoke 81/96 Test #81: Trap.Smoke ....................... Passed 0.01 sec Start 82: Trap.Codes 82/96 Test #82: Trap.Codes ....................... Passed 0.01 sec Start 83: WasiConfig.Smoke 83/96 Test #83: WasiConfig.Smoke ................. Passed 0.01 sec Start 84: Store.Smoke 84/96 Test #84: Store.Smoke ...................... Passed 0.01 sec Start 85: Val.Smoke 85/96 Test #85: Val.Smoke ........................ Passed 0.01 sec [message truncated]
MU-Software edited a comment on PR #11861:
Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!
<details>
<summary>Test result</summary>CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test Running tests... Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build Start 1: anyref-c 1/96 Test #1: anyref-c ......................... Passed 0.82 sec Start 2: anyref-cpp-c 2/96 Test #2: anyref-cpp-c ..................... Passed 0.86 sec Start 3: async-c 3/96 Test #3: async-c .......................... Passed 1.84 sec Start 4: externref-c 4/96 Test #4: externref-c ...................... Passed 1.02 sec Start 5: externref-cpp-c 5/96 Test #5: externref-cpp-c .................. Passed 0.82 sec Start 6: fib-debug-c 6/96 Test #6: fib-debug-c ...................... Passed 0.84 sec Start 7: fuel-c 7/96 Test #7: fuel-c ........................... Passed 0.83 sec Start 8: fuel-cpp-c 8/96 Test #8: fuel-cpp-c ....................... Passed 0.83 sec Start 9: gcd-c 9/96 Test #9: gcd-c ............................ Passed 0.84 sec Start 10: gcd-cpp-c 10/96 Test #10: gcd-cpp-c ........................ Passed 0.80 sec Start 11: hello-c 11/96 Test #11: hello-c .......................... Passed 0.83 sec Start 12: hello-cpp-c 12/96 Test #12: hello-cpp-c ...................... Passed 0.86 sec Start 13: interrupt-c 13/96 Test #13: interrupt-c ...................... Passed 1.83 sec Start 14: interrupt-cpp-c 14/96 Test #14: interrupt-cpp-c .................. Passed 1.84 sec Start 15: linking-c 15/96 Test #15: linking-c ........................ Passed 1.07 sec Start 16: linking-cpp-c 16/96 Test #16: linking-cpp-c .................... Passed 0.82 sec Start 17: memory-c 17/96 Test #17: memory-c ......................... Passed 0.84 sec Start 18: memory-cpp-c 18/96 Test #18: memory-cpp-c ..................... Passed 0.87 sec Start 19: multi-c 19/96 Test #19: multi-c .......................... Passed 0.82 sec Start 20: multi-cpp-c 20/96 Test #20: multi-cpp-c ...................... Passed 0.83 sec Start 21: multimemory-c 21/96 Test #21: multimemory-c .................... Passed 0.83 sec Start 22: multimemory-cpp-c 22/96 Test #22: multimemory-cpp-c ................ Passed 0.84 sec Start 23: serialize-c 23/96 Test #23: serialize-c ...................... Passed 0.82 sec Start 24: serialize-cpp-c 24/96 Test #24: serialize-cpp-c .................. Passed 0.86 sec Start 25: threads-c 25/96 Test #25: threads-c ........................ Passed 1.15 sec Start 26: threads-cpp-c 26/96 Test #26: threads-cpp-c .................... Passed 1.17 sec Start 27: wasip1-c 27/96 Test #27: wasip1-c ......................... Passed 0.94 sec Start 28: wasip1-cpp-c 28/96 Test #28: wasip1-cpp-c ..................... Passed 1.13 sec Start 29: Engine.Smoke 29/96 Test #29: Engine.Smoke ..................... Passed 0.03 sec Start 30: Engine.Simple 30/96 Test #30: Engine.Simple .................... Passed 0.01 sec Start 31: wat2wasm.Smoke 31/96 Test #31: wat2wasm.Smoke ................... Passed 0.01 sec Start 32: wat2wasm.Simple 32/96 Test #32: wat2wasm.Simple .................. Passed 0.01 sec Start 33: Module.Smoke 33/96 Test #33: Module.Smoke ..................... Passed 0.02 sec Start 34: Module.Serialize 34/96 Test #34: Module.Serialize ................. Passed 0.01 sec Start 35: Module.Simple 35/96 Test #35: Module.Simple .................... Passed 0.01 sec Start 36: ExternRef.Smoke 36/96 Test #36: ExternRef.Smoke .................. Passed 0.01 sec Start 37: Caller.Smoke 37/96 Test #37: Caller.Smoke ..................... Passed 0.03 sec Start 38: Func.Smoke 38/96 Test #38: Func.Smoke ....................... Passed 0.01 sec Start 39: Data.Smoke 39/96 Test #39: Data.Smoke ....................... Passed 0.01 sec Start 40: ValType.Smoke 40/96 Test #40: ValType.Smoke .................... Passed 0.01 sec Start 41: ValType.Simple 41/96 Test #41: ValType.Simple ................... Passed 0.01 sec Start 42: MemoryType.Smoke 42/96 Test #42: MemoryType.Smoke ................. Passed 0.01 sec Start 43: MemoryType.SixtyFour 43/96 Test #43: MemoryType.SixtyFour ............. Passed 0.01 sec Start 44: MemoryType.Simple 44/96 Test #44: MemoryType.Simple ................ Passed 0.01 sec Start 45: MemoryType.WithMax 45/96 Test #45: MemoryType.WithMax ............... Passed 0.01 sec Start 46: MemoryType.Mem64 46/96 Test #46: MemoryType.Mem64 ................. Passed 0.01 sec Start 47: MemoryType.Builder 47/96 Test #47: MemoryType.Builder ............... Passed 0.01 sec Start 48: TableType.Smoke 48/96 Test #48: TableType.Smoke .................. Passed 0.01 sec Start 49: TableType.Simple 49/96 Test #49: TableType.Simple ................. Passed 0.01 sec Start 50: GlobalType.Smoke 50/96 Test #50: GlobalType.Smoke ................. Passed 0.01 sec Start 51: GlobalType.Simple 51/96 Test #51: GlobalType.Simple ................ Passed 0.01 sec Start 52: ModuleType.Smoke 52/96 Test #52: ModuleType.Smoke ................. Passed 0.01 sec Start 53: ValKind.String 53/96 Test #53: ValKind.String ................... Passed 0.01 sec Start 54: FuncType.Smoke 54/96 Test #54: FuncType.Smoke ................... Passed 0.01 sec Start 55: ImportType.Smoke 55/96 Test #55: ImportType.Smoke ................. Passed 0.01 sec Start 56: ExportType.Smoke 56/96 Test #56: ExportType.Smoke ................. Passed 0.01 sec Start 57: ExternType.Smoke 57/96 Test #57: ExternType.Smoke ................. Passed 0.01 sec Start 58: TypedFunc.Smoke 58/96 Test #58: TypedFunc.Smoke .................. Passed 0.01 sec Start 59: TypedFunc.Call 59/96 Test #59: TypedFunc.Call ................... Passed 0.01 sec Start 60: TypedFunc.WrapAndTypes 60/96 Test #60: TypedFunc.WrapAndTypes ........... Passed 0.01 sec Start 61: TypedFunc.WrapRuntime 61/96 Test #61: TypedFunc.WrapRuntime ............ Passed 0.01 sec Start 62: component.instantiate 62/96 Test #62: component.instantiate ............ Passed 0.01 sec Start 63: component.define_module 63/96 Test #63: component.define_module .......... Passed 0.01 sec Start 64: component.lookup_func 64/96 Test #64: component.lookup_func ............ Passed 0.01 sec Start 65: component.call_func 65/96 Test #65: component.call_func .............. Passed 0.01 sec Start 66: component.value_record 66/96 Test #66: component.value_record ........... Passed 0.02 sec Start 67: component.value_string 67/96 Test #67: component.value_string ........... Passed 0.01 sec Start 68: component.value_list 68/96 Test #68: component.value_list ............. Passed 0.01 sec Start 69: component.value_tuple 69/96 Test #69: component.value_tuple ............ Passed 0.01 sec Start 70: component.value_variant 70/96 Test #70: component.value_variant .......... Passed 0.01 sec Start 71: component.value_enum 71/96 Test #71: component.value_enum ............. Passed 0.01 sec Start 72: component.value_option 72/96 Test #72: component.value_option ........... Passed 0.01 sec Start 73: component.value_result 73/96 Test #73: component.value_result ........... Passed 0.01 sec Start 74: component.value_flags 74/96 Test #74: component.value_flags ............ Passed 0.01 sec Start 75: component.value_list_inner 75/96 Test #75: component.value_list_inner ....... Passed 0.01 sec Start 76: Result.Simple 76/96 Test #76: Result.Simple .................... Passed 0.01 sec Start 77: Error.Simple 77/96 Test #77: Error.Simple ..................... Passed 0.01 sec Start 78: PoolAllocationConfig.Smoke 78/96 Test #78: PoolAllocationConfig.Smoke ....... Passed 0.01 sec Start 79: Config.Smoke 79/96 Test #79: Config.Smoke ..................... Passed 0.01 sec Start 80: Config.MemoryCreator 80/96 Test #80: Config.MemoryCreator ............. Passed 0.01 sec Start 81: Trap.Smoke 81/96 Test #81: Trap.Smoke ....................... Passed 0.01 sec Start 82: Trap.Codes 82/96 Test #82: Trap.Codes ....................... Passed 0.01 sec Start 83: WasiConfig.Smoke 83/96 Test #83: WasiConfig.Smoke ................. Passed 0.01 sec Start 84: Store.Smoke 84/96 Test #84: Store.Smoke ...................... Passed 0.01 sec Start 85: Val.Smoke 85/96 Test #85: Val.Smoke ........................ Passed 0.01 sec [message truncated]
alexcrichton submitted PR review:
No worries, and this all looks great, thanks!
alexcrichton merged PR #11861.
Last updated: Dec 06 2025 at 07:03 UTC