diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-04 18:03:49 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-04 18:03:49 -0800 |
commit | 4a464bbd20dda5f67adc8721b7cc3df6f0f0f06f (patch) | |
tree | 5c4285931ac9adb816d6b2f7f01b57c70eba9214 /src | |
parent | 8ba70395b294b8525f52c511054ca95eef1f2686 (diff) | |
download | binaryen-4a464bbd20dda5f67adc8721b7cc3df6f0f0f06f.tar.gz binaryen-4a464bbd20dda5f67adc8721b7cc3df6f0f0f06f.tar.bz2 binaryen-4a464bbd20dda5f67adc8721b7cc3df6f0f0f06f.zip |
implement assert_return and assert_trap
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-shell.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/wasm-shell.cpp b/src/wasm-shell.cpp index 1ad0a19ad..4d2d3b560 100644 --- a/src/wasm-shell.cpp +++ b/src/wasm-shell.cpp @@ -154,11 +154,14 @@ int main(int argc, char **argv) { Expression* argument = builder.parseExpression(*invoke[2]); arguments.push_back(argument->dyn_cast<Const>()->value); } + bool trapped = false; if (setjmp(interface->trapState) == 0) { instance->callFunction(name, arguments); } else { - std::cout << "TRAPPED\n"; + trapped = true; } + if (id == ASSERT_RETURN) assert(!trapped); + if (id == ASSERT_TRAP) assert(trapped); i++; } } |