wasmer-go
wasmer-go copied to clipboard
Rename error message error?
Summary
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)
}
}
Additional details
The wasm file is to test whether renaming a nonexistent file could print correct error message.
Expected behavior
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.
Actual behavior
Print:
ENOENT: 44
EINVAL: 28
r: -1
errno: 76
rename() error: Capabilities insufficient
Am I using the wasmer-go api with mistake?