This returns the exit code directly from the start entry point instead
of throwing it and letting the user handle it.
As a result the exit status is an implementation detail and has been
made internal.
This makes the implementation details of the Context class private,
making the public interface much more bare-bones and aligns it closer to
what Node exposes.
This adds an exitOnReturn option to context making it
possible to unwind the stack on the exit(2) syscall
instead of delegating to it directly.
Use case is being able to treat WASI execution contexts
as children that don't kill the parent on exit.
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.
This adds a start method to the Context to make starting a command less
tedious and yield consistent errors.
Manually setting the memory is still valid for more complex scenarios,
just undocumented for the time being.
This brings in revised tests for clock_time_get from upstream and
re-enables them.
This revision of these tests allow for lower precision clocks (we only
provide millisecond precision, and that is conformant but previous
tests for this in the upstream test suite were a bit more aggressive).
This fast-forwards wasi-test-suite a couple of commits removed
duplicate, or near duplicate tests with not much additional value.
Other tests have been merged to reduce the number of modules to make
tests topical to the syscall that is being tested.
The usage example is a bit out of date and not compatible with the
stricter definition of the WebAssembly namespace.
This fixes that and makes it a bit cleaner.
This explicitly lists std/wasi test modules in a pre-sorted array for deterministic test runs.
As a side effect it makes it a bit more visible when a test has been added or removed aside
from having to look at the submodule update.
This commit renames Module and ModuleOptions to context to avoid stutter
confusion, e.g avoid having documentation that says things like
instantiate the snapshot's module's module.