Exit with a more severe error code if the program traps. (#1274)
* Exit with a more severe error code if the program traps. Previously, the wasmtime CLI would return with a regular failure error code, such as 1 on Unix. However, a program trap indicates a bug in the program, which can be useful to distinguish from a simple error status. Check for the trap case, and return an appropriate OS-specific exit status. * Use a loop to iterate over the error causes to find Traps. * Use anyhow's `chain()` iterator. * For completeness, handle non-Unix and non-Windows platforms too. * Add a CLI test for a trapping program. * Replace a manual `.cause` loop with a `.is` call. * Correct the expected exit status on Windows. * Use assert_eq/assert_ne so that if these fail, it prints the output.
This commit is contained in:
5
tests/wasm/unreachable.wat
Normal file
5
tests/wasm/unreachable.wat
Normal file
@@ -0,0 +1,5 @@
|
||||
(module
|
||||
(func (export "_start")
|
||||
unreachable
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user