Files
binaryen/test/lit/node/fuzz_shell_numeric_export.wast
Alon Zakai 9dfd3d9f5e Fuzzing: Fix fuzz_shell.js on exports whose name is an integer (#7205)
JS sorts such indexes to the start of wasm.exports, but we want the order in
the wasm, so get the proper ordering using WebAssembly.Module.exports.
2025-01-10 09:01:22 -08:00

30 lines
789 B
Plaintext

;; Test that numeric exports appear in the right position. The JS rules
;; affecting the order of instance.exports can be confusing, and we want the
;; actual order in the wasm.
(module
(func $a (export "a") (result i32)
(i32.const 10)
)
(func $0 (export "0") (result i32)
(i32.const 20)
)
(func $c (export "c") (result i32)
(i32.const 30)
)
)
;; Run in wasm-opt and in node to see they agree.
;; RUN: wasm-opt %s -o %t.wasm -q --fuzz-exec-before | filecheck %s
;; RUN: node %S/../../../scripts/fuzz_shell.js %t.wasm | filecheck %s
;;
;; CHECK: [fuzz-exec] calling a
;; CHECK: [fuzz-exec] note result: a => 10
;; CHECK: [fuzz-exec] calling 0
;; CHECK: [fuzz-exec] note result: 0 => 20
;; CHECK: [fuzz-exec] calling c
;; CHECK: [fuzz-exec] note result: c => 30