From 25cf3c07663827f2ae3a547d1735f06c07c01559 Mon Sep 17 00:00:00 2001 From: Takeshi Yoneda Date: Fri, 9 Feb 2024 12:08:21 -0800 Subject: [PATCH] fuzz: adds a float<>int conversion case (#2032) Signed-off-by: Takeshi Yoneda --- .../fuzzcases/fuzzcases_test.go | 16 ++ .../fuzzcases/testdata/2031.wasm | Bin 0 -> 711 bytes .../fuzzcases/testdata/2031.wat | 251 ++++++++++++++++++ 3 files changed, 267 insertions(+) create mode 100644 internal/integration_test/fuzzcases/testdata/2031.wasm create mode 100644 internal/integration_test/fuzzcases/testdata/2031.wat diff --git a/internal/integration_test/fuzzcases/fuzzcases_test.go b/internal/integration_test/fuzzcases/fuzzcases_test.go index 19fef181f9..6eea924da8 100644 --- a/internal/integration_test/fuzzcases/fuzzcases_test.go +++ b/internal/integration_test/fuzzcases/fuzzcases_test.go @@ -944,3 +944,19 @@ func Test2017(t *testing.T) { require.Contains(t, err.Error(), "integer divide by zero") }) } + +func Test2031(t *testing.T) { + if !platform.CompilerSupported() { + return + } + if runtime.GOARCH == "amd64" && runtime.GOOS == "darwin" { + t.Skip() + } + run(t, func(t *testing.T, r wazero.Runtime) { + mod, err := r.Instantiate(ctx, getWasmBinary(t, "2031")) + require.NoError(t, err) + res, err := mod.ExportedFunction("").Call(ctx, 0) + require.NoError(t, err) + require.Equal(t, []uint64{2139095040, 9218868437227405312}, res) + }) +} diff --git a/internal/integration_test/fuzzcases/testdata/2031.wasm b/internal/integration_test/fuzzcases/testdata/2031.wasm new file mode 100644 index 0000000000000000000000000000000000000000..393959840b2dfeeda2c5528e9a7e0c28448705e1 GIT binary patch literal 711 zcmZQbEY4+QU|?WmXG~zMXR57XW@2Pu(`Kz>bYkGHXLMxXu4Qxv$}@1+FuH(f5I|wG zvw-w-Jz!zH%fjHuxXGmk3gC=wj*Qz895@Tk*al+RfOMe>fkY@3;^N|RVn9Gg2Iq@F z;PPX?m(Lc*o<0|Quq8D$U^n2h(7FDo(Hgkh;0z=^uF})4ZI~0DgCqnoxW6AH1hEAk zei*8d?cb)tq|CHig;|+dfx(r