diff options
author | Casper Beyer <caspervonb@pm.me> | 2020-12-04 02:36:13 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-03 19:36:13 +0100 |
commit | de036e1f08dad4c5d0c6641f1942750558e3e787 (patch) | |
tree | 2a99e297c3213e1a86f36f1675a13af9a38a0aea /std/wasi/snapshot_preview1_test.ts | |
parent | 93d9f51d16711e6ec0763e1189eb1a57a5ba8e3e (diff) |
feat(std/wasi): add support for initializing reactors (#8603)
This adds another entry point to Context called initialize for
spinning up style modules.
Reactors are modules that don't have a main function and
basically run forever in the background.
Diffstat (limited to 'std/wasi/snapshot_preview1_test.ts')
-rw-r--r-- | std/wasi/snapshot_preview1_test.ts | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/std/wasi/snapshot_preview1_test.ts b/std/wasi/snapshot_preview1_test.ts index 44877117c..d7e29e195 100644 --- a/std/wasi/snapshot_preview1_test.ts +++ b/std/wasi/snapshot_preview1_test.ts @@ -180,3 +180,45 @@ Deno.test("context_start", function () { "export _start must be a function", ); }); + +Deno.test("context_initialize", function () { + assertThrows( + () => { + const context = new Context({}); + context.initialize({ + exports: { + _initialize() {}, + }, + }); + }, + TypeError, + "must provide a memory export", + ); + + assertThrows( + () => { + const context = new Context({}); + context.initialize({ + exports: { + _start() {}, + memory: new WebAssembly.Memory({ initial: 1 }), + }, + }); + }, + TypeError, + "export _start must not be a function", + ); + + assertThrows( + () => { + const context = new Context({}); + context.initialize({ + exports: { + memory: new WebAssembly.Memory({ initial: 1 }), + }, + }); + }, + TypeError, + "export _initialize must be a function", + ); +}); |