[Tarantool-patches] [PATCH luajit v2] test: adapt test checking reversed function

Maxim Kokryashkin max.kokryashkin at gmail.com
Tue Mar 1 02:54:45 MSK 2022


The first fiber in Tarantool has only 512Kb of the stack, which is not enough
to handle such a deep call chain. Thus, the chunk of code being considered
cores with SIGSEGV as a result of C stack overflow.
The test is adapted to Tarantool by decreasing the string length.

Resolves tarantool/tarantool#5782
Part of tarantool/tarantool#5870
---
Changes in v2:
- Fixed comments as per review by Igor

GitHub branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-5782-adapt-deep-nest-gsub-PUC-Rio
CI branch: https://github.com/tarantool/tarantool/tree/fckxorg/gh-5782-adapt-test-checking-reversed-function-full-ci
Issue: https://github.com/tarantool/tarantool/issues/5782

 test/PUC-Rio-Lua-5.1-tests/pm.lua | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/test/PUC-Rio-Lua-5.1-tests/pm.lua b/test/PUC-Rio-Lua-5.1-tests/pm.lua
index e364ff9d..61f437f6 100644
--- a/test/PUC-Rio-Lua-5.1-tests/pm.lua
+++ b/test/PUC-Rio-Lua-5.1-tests/pm.lua
@@ -206,12 +206,16 @@ function rev (s)
   return string.gsub(s, "(.)(.+)", function (c,s1) return rev(s1)..c end)
 end
 
-local x = string.rep('012345', 10)
--- FIXME: The first Tarantool's fiber has only 512Kb of stack.
--- It is not enough for this recursive call.
+-- The first fiber in Tarantool has only 512Kb of the stack,
+-- which is not enough to handle such a deep call chain. Thus,
+-- the chunk of code being considered cores with SIGSEGV as a
+-- result of C stack overflow.
+--
+-- This test is adapted to match the stack size of the first fiber in
+-- Tarantool by decreasing the string length.
 -- See also https://github.com/tarantool/tarantool/issues/5782.
--- The test is disabled for Tarantool binary.
--- assert(rev(rev(x)) == x)
+local x = string.rep('01234', 10)
+assert(rev(rev(x)) == x)
 
 
 -- gsub with tables
-- 
2.35.1



More information about the Tarantool-patches mailing list