69 lines
1.7 KiB
Python
69 lines
1.7 KiB
Python
from exports.bindings import Exports
|
|
from imports.bindings import add_imports_to_linker, Imports
|
|
import math;
|
|
import sys
|
|
import wasmtime
|
|
|
|
class MyImports:
|
|
def many_arguments(self,
|
|
a1: int,
|
|
a2: int,
|
|
a3: int,
|
|
a4: int,
|
|
a5: int,
|
|
a6: int,
|
|
a7: int,
|
|
a8: int,
|
|
a9: int,
|
|
a10: int,
|
|
a11: int,
|
|
a12: int,
|
|
a13: int,
|
|
a14: int,
|
|
a15: int,
|
|
a16: int,
|
|
a17: int,
|
|
a18: int,
|
|
a19: int,
|
|
a20: int) -> None:
|
|
assert(a1 == 1)
|
|
assert(a2 == 2)
|
|
assert(a3 == 3)
|
|
assert(a4 == 4)
|
|
assert(a5 == 5)
|
|
assert(a6 == 6)
|
|
assert(a7 == 7)
|
|
assert(a8 == 8)
|
|
assert(a9 == 9)
|
|
assert(a10 == 10)
|
|
assert(a11 == 11)
|
|
assert(a12 == 12)
|
|
assert(a13 == 13)
|
|
assert(a14 == 14)
|
|
assert(a15 == 15)
|
|
assert(a16 == 16)
|
|
assert(a17 == 17)
|
|
assert(a18 == 18)
|
|
assert(a19 == 19)
|
|
assert(a20 == 20)
|
|
|
|
|
|
def run(wasm_file: str) -> None:
|
|
store = wasmtime.Store()
|
|
module = wasmtime.Module.from_file(store.engine, wasm_file)
|
|
linker = wasmtime.Linker(store.engine)
|
|
linker.define_wasi()
|
|
wasi = wasmtime.WasiConfig()
|
|
wasi.inherit_stdout()
|
|
wasi.inherit_stderr()
|
|
store.set_wasi(wasi)
|
|
|
|
imports = MyImports()
|
|
add_imports_to_linker(linker, store, imports)
|
|
wasm = Exports(store, linker, module)
|
|
|
|
wasm.many_arguments(store, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14, 15, 16, 17, 18, 19, 20)
|
|
|
|
if __name__ == '__main__':
|
|
run(sys.argv[1])
|