From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Alexander V. Tikhonov" Subject: [PATCH v1] test: app/socket flaky fails at 1118 line Date: Wed, 14 Aug 2019 08:27:59 +0300 Message-Id: To: Vladimir Davydov Cc: "Alexander V. Tikhonov" , tarantool-patches@freelists.org List-ID: Found that on hard loaded hosts the test flaky fails at: [004] --- app/socket.result Mon Jul 15 07:18:57 2019 [004] +++ app/socket.reject Tue Jul 16 16:37:35 2019 [004] @@ -1118,7 +1118,7 @@ [004] ... [004] ch:get(1) [004] --- [004] -- true [004] +- null [004] ... [004] s:error() [004] --- The issue was found at the fiber function: f = fiber.create(function() s:read(12) ch:put(true) end) that reads from socket and puts into the fiber with possible delay which caused the issue. To aovid of it the fiber function must be called in one shot by using the 'setopt delimiter' functionality. Fixes #4354 --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4354-1118-app-socket Issue: https://github.com/tarantool/tarantool/issues/4353 test/app/socket.result | 13 ++++++++++++- test/app/socket.test.lua | 7 ++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/test/app/socket.result b/test/app/socket.result index 77eff7370..138946158 100644 --- a/test/app/socket.result +++ b/test/app/socket.result @@ -1109,9 +1109,20 @@ s = socket.tcp_connect('127.0.0.1', port) ch = fiber.channel() --- ... -f = fiber.create(function() s:read(12) ch:put(true) end) +test_run:cmd("setopt delimiter ';'") +--- +- true +... +f = fiber.create(function() + s:read(12) + ch:put(true) +end); --- ... +test_run:cmd("setopt delimiter ''"); +--- +- true +... s:close() --- - true diff --git a/test/app/socket.test.lua b/test/app/socket.test.lua index 7ae9a98aa..68ac4b4ac 100644 --- a/test/app/socket.test.lua +++ b/test/app/socket.test.lua @@ -359,7 +359,12 @@ test_run:cmd("setopt delimiter ''"); s = socket.tcp_connect('127.0.0.1', port) ch = fiber.channel() -f = fiber.create(function() s:read(12) ch:put(true) end) +test_run:cmd("setopt delimiter ';'") +f = fiber.create(function() + s:read(12) + ch:put(true) +end); +test_run:cmd("setopt delimiter ''"); s:close() ch:get(1) s:error() -- 2.17.1