This implements a minimal wast testing harness in tests/wast.rs, which runs the wast tests under tests/wast. It also adds tests for trapping in a variety of ways, and fixes several bugs exposed by those tests.
27 lines
506 B
Plaintext
27 lines
506 B
Plaintext
(module
|
|
(func $foo
|
|
(call $foo)
|
|
)
|
|
(func (export "stack_overflow")
|
|
(call $foo)
|
|
)
|
|
)
|
|
|
|
(assert_exhaustion (invoke "stack_overflow") "call stack exhausted")
|
|
(assert_exhaustion (invoke "stack_overflow") "call stack exhausted")
|
|
|
|
(module
|
|
(func $foo
|
|
(call $bar)
|
|
)
|
|
(func $bar
|
|
(call $foo)
|
|
)
|
|
(func (export "stack_overflow")
|
|
(call $foo)
|
|
)
|
|
)
|
|
|
|
(assert_exhaustion (invoke "stack_overflow") "call stack exhausted")
|
|
(assert_exhaustion (invoke "stack_overflow") "call stack exhausted")
|