diff --git a/test/smoketests/spectests/CMakeLists.txt b/test/smoketests/spectests/CMakeLists.txt index 0142b1a6d..2076e8644 100644 --- a/test/smoketests/spectests/CMakeLists.txt +++ b/test/smoketests/spectests/CMakeLists.txt @@ -72,6 +72,16 @@ set_tests_properties( PASS_REGULAR_EXPRESSION "PASSED 4, FAILED 22, SKIPPED 2" ) +add_test( + NAME fizzy/smoketests/spectests/failures-output + COMMAND fizzy-spectests ${CMAKE_CURRENT_LIST_DIR}/failures +) +set_tests_properties( + fizzy/smoketests/spectests/failures-output + PROPERTIES + PASS_REGULAR_EXPRESSION "FAILED Incorrect returned value\\. Expected: 12 \\(0xc\\) Actual: 10 \\(0xa\\)" +) + add_test( NAME fizzy/smoketests/spectests/broken COMMAND fizzy-spectests ${CMAKE_CURRENT_LIST_DIR}/broken diff --git a/test/smoketests/spectests/failures/failures.14.wasm b/test/smoketests/spectests/failures/failures.14.wasm index d0bae3919..6091d98b2 100644 Binary files a/test/smoketests/spectests/failures/failures.14.wasm and b/test/smoketests/spectests/failures/failures.14.wasm differ diff --git a/test/smoketests/spectests/failures/failures.json b/test/smoketests/spectests/failures/failures.json index 16f8271dc..7f5697271 100644 --- a/test/smoketests/spectests/failures/failures.json +++ b/test/smoketests/spectests/failures/failures.json @@ -19,7 +19,7 @@ {"type": "assert_unlinkable", "line": 38, "filename": "failures.13.wasm", "text": "error", "module_type": "binary"}, {"type": "module", "line": 41, "filename": "failures.14.wasm"}, {"type": "assert_return", "line": 48, "action": {"type": "invoke", "field": "foo.i32", "args": []}, "expected": [{"type": "i32", "value": "2"}]}, - {"type": "assert_return", "line": 49, "action": {"type": "invoke", "field": "foo.i64", "args": []}, "expected": [{"type": "i64", "value": "2"}]}, + {"type": "assert_return", "line": 49, "action": {"type": "invoke", "field": "foo.i64", "args": []}, "expected": [{"type": "i64", "value": "12"}]}, {"type": "assert_return", "line": 50, "action": {"type": "invoke", "field": "foo.f32", "args": []}, "expected": [{"type": "f32", "value": "1075654427"}]}, {"type": "assert_return", "line": 51, "action": {"type": "invoke", "field": "foo.f64", "args": []}, "expected": [{"type": "f64", "value": "4612712839142428377"}]}, {"type": "assert_return", "line": 52, "action": {"type": "invoke", "field": "foo.f32", "args": []}, "expected": [{"type": "f32", "value": "nan:canonical"}]}, diff --git a/test/smoketests/spectests/failures/failures.wast b/test/smoketests/spectests/failures/failures.wast index d250297bd..ced385eaf 100644 --- a/test/smoketests/spectests/failures/failures.wast +++ b/test/smoketests/spectests/failures/failures.wast @@ -40,13 +40,13 @@ ;; invalid result (module (func (export "foo.i32") (result i32) (i32.const 1)) - (func (export "foo.i64") (result i64) (i64.const 1)) + (func (export "foo.i64") (result i64) (i64.const 10)) (func (export "foo.f32") (result f32) (f32.const 1.234)) (func (export "foo.f64") (result f64) (f64.const 1.234)) (func (export "trap") (result i32) (unreachable)) ) (assert_return (invoke "foo.i32") (i32.const 2)) -(assert_return (invoke "foo.i64") (i64.const 2)) +(assert_return (invoke "foo.i64") (i64.const 12)) (assert_return (invoke "foo.f32") (f32.const 2.456)) (assert_return (invoke "foo.f64") (f64.const 2.456)) (assert_return (invoke "foo.f32") (f32.const nan:canonical)) diff --git a/test/spectests/spectests.cpp b/test/spectests/spectests.cpp index 378d85095..f1e14bd24 100644 --- a/test/spectests/spectests.cpp +++ b/test/spectests/spectests.cpp @@ -492,8 +492,8 @@ class test_runner std::stringstream message; message << "Incorrect returned value. Expected: " << expected_value.i64 << " (0x" << std::hex << expected_value.i64 << ")" - << " Actual: " << actual_value.i64 << " (0x" << std::hex << actual_value.i64 - << ")"; + << " Actual: " << std::dec << actual_value.i64 << " (0x" << std::hex + << actual_value.i64 << ")"; fail(message.str()); return false; }