...
1 package wasi_snapshot_preview1_test
2
3 import (
4 "context"
5 _ "embed"
6 "fmt"
7 "os"
8
9 "github.com/tetratelabs/wazero"
10 "github.com/tetratelabs/wazero/imports/wasi_snapshot_preview1"
11 "github.com/tetratelabs/wazero/sys"
12 )
13
14
15
16
17
18
19 var exitOnStartWasm []byte
20
21
22
23
24 func Example() {
25
26 ctx := context.Background()
27
28
29 r := wazero.NewRuntime(ctx)
30 defer r.Close(ctx)
31
32
33 wasi_snapshot_preview1.MustInstantiate(ctx, r)
34
35
36 mod, err := r.InstantiateWithConfig(ctx, exitOnStartWasm,
37
38 wazero.NewModuleConfig().WithStdout(os.Stdout).WithName("wasi-demo"))
39 if mod != nil {
40 defer r.Close(ctx)
41 }
42
43
44
45 if exitErr, ok := err.(*sys.ExitError); ok {
46 fmt.Printf("exit_code: %d\n", exitErr.ExitCode())
47 }
48
49
50
51 }
52
View as plain text