[Tarantool-patches] [PATCH luajit] test: add test case for math.modf
sergos
sergos at tarantool.org
Thu Mar 2 15:31:34 MSK 2023
Hi!
Thanks for the patch,
LGTM.
Sergos
> On 3 Feb 2023, at 15:45, Maksim Kokryashkin <max.kokryashkin at gmail.com> wrote:
>
> Follows up commit 9b6c0cd8eafdd2e5a8a7ac4b33f6e33b3d8a93b9
> ("Don't compile math.modf() anymore.").
>
> This patch introduces the test case for the issue with
> compiled `math.modf`, that was fixed by disabling the
> compilation for it.
>
> Part of tarantool/tarantool#7230
> ---
> Branch: https://github.com/tarantool/luajit/tree/fckxorg/modf-test
> PR: https://github.com/tarantool/tarantool/pull/8251
>
> test/tarantool-tests/math-modf.test.lua | 31 +++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
> create mode 100644 test/tarantool-tests/math-modf.test.lua
>
> diff --git a/test/tarantool-tests/math-modf.test.lua b/test/tarantool-tests/math-modf.test.lua
> new file mode 100644
> index 00000000..2aaa5189
> --- /dev/null
> +++ b/test/tarantool-tests/math-modf.test.lua
> @@ -0,0 +1,31 @@
> +local tap = require('tap')
> +local test = tap.test('math-modf')
> +test:plan(1)
> +
> +local function isnan(x)
> + return x ~= x
> +end
> +
> +local function array_is_consistent(res)
> + for i = 1, #res - 1 do
> + if res[i] ~= res[i + 1] and not (isnan(res[i]) and isnan(res[i + 1])) then
> + return false
> + end
> + end
> + return true
> +end
> +
> +jit.opt.start('hotloop=1')
> +jit.on()
> +
> +local modf = math.modf
> +local inf = math.huge
> +
> +local r1 = {nil, nil, nil, nil}
> +local r2 = {nil, nil, nil, nil}
> +
> +for i = 1, 4 do
> + r1[i], r2[i] = modf(inf)
> +end
> +
> +test:ok(array_is_consistent(r1) and array_is_consistent(r2), 'wrong modf')
> --
> 2.37.1 (Apple Git-137.1)
>
More information about the Tarantool-patches
mailing list