Open orangeC23 opened 1 year ago
The wasm file is : tmp-wasm.txt
The go file is :
package main import ( "fmt" wasmer "github.com/wasmerio/wasmer-go/wasmer" "io/ioutil" ) func main() { // os.Chdir(filepath.Dir(os.Args[0])) wasmBytes, _ := ioutil.ReadFile("./tmp.wasm") store := wasmer.NewStore(wasmer.NewEngine()) module, _ := wasmer.NewModule(store, wasmBytes) wasiEnv, _ := wasmer.NewWasiStateBuilder("test"). Argument("--dir=."). // Environment("ABC", "DEF"). //MapDirectory("./dir", "./dir"). Finalize() if store == nil { fmt.Println("store is null") } if module == nil { fmt.Println("module is null") } importObject, err := wasiEnv.GenerateImportObject(store, module) check(err) instance, err := wasmer.NewInstance(module, importObject) check(err) start, err := instance.Exports.GetWasiStartFunction() check(err) start() } func check(e error) { if e != nil { panic(e) } }
The wasm file is to test whether renaming a nonexistent file could print correct error message.
Print:
ENOENT: 44 EINVAL: 28 r: -1 errno: 44 rename() error: No such file or directory
Using wasmer with the command wasmer run --dir=. tmp.wasm it print the showed message.
wasmer run --dir=. tmp.wasm
ENOENT: 44 EINVAL: 28 r: -1 errno: 76 rename() error: Capabilities insufficient
Am I using the wasmer-go api with mistake?
Summary
The wasm file is : tmp-wasm.txt
The go file is :
Additional details
The wasm file is to test whether renaming a nonexistent file could print correct error message.
Expected behavior
Print:
Using wasmer with the command
wasmer run --dir=. tmp.wasm
it print the showed message.Actual behavior
Print:
Am I using the wasmer-go api with mistake?