* [PATCH v2] test: app/socket flaky fails at 1118 line
@ 2019-08-14 13:00 Alexander V. Tikhonov
2019-08-14 13:15 ` Vladimir Davydov
0 siblings, 1 reply; 2+ messages in thread
From: Alexander V. Tikhonov @ 2019-08-14 13:00 UTC (permalink / raw)
To: Vladimir Davydov; +Cc: Alexander V. Tikhonov, tarantool-patches
Found that on high 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] ---
Found that the test in previous was used for testing the
the channel get() function timeout and the error occurred
on it, but later the checking error changed to:
"builtin/socket.lua: attempt to use closed socket" and the
test became not correct. Because for now it passes when the
socket read function runs before the socket closing, but in
this way read call doesn't wait. In the other way on high
loaded hosts the close call may occure before read call and
in this way read call halts and socket get call returns
'null'. As seen both ways are not correct to check the error.
Decided to remove this subtest.
Check commit ba7a4fee73 ("Add tests for socket:close closes #360")
Fixes #4354
---
Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4354-1118-app-socket
Issue: https://github.com/tarantool/tarantool/issues/4354
test/app/socket.result | 58 ----------------------------------------
test/app/socket.test.lua | 24 -----------------
2 files changed, 82 deletions(-)
diff --git a/test/app/socket.result b/test/app/socket.result
index 77eff7370..fd299424c 100644
--- a/test/app/socket.result
+++ b/test/app/socket.result
@@ -1066,64 +1066,6 @@ tostring(s)
s = nil
---
...
--- close
-serv = socket('AF_INET', 'SOCK_STREAM', 'tcp')
----
-...
-serv:setsockopt('SOL_SOCKET', 'SO_REUSEADDR', true)
----
-- true
-...
-serv:bind('127.0.0.1', port)
----
-- true
-...
-port = serv:name().port
----
-...
-serv:listen()
----
-- true
-...
-test_run:cmd("setopt delimiter ';'")
----
-- true
-...
-f = fiber.create(function(serv)
- serv:readable()
- sc = serv:accept()
- sc:write("Tarantool test server")
- sc:shutdown()
- sc:close()
- serv:close()
-end, serv);
----
-...
-test_run:cmd("setopt delimiter ''");
----
-- true
-...
-s = socket.tcp_connect('127.0.0.1', port)
----
-...
-ch = fiber.channel()
----
-...
-f = fiber.create(function() s:read(12) ch:put(true) end)
----
-...
-s:close()
----
-- true
-...
-ch:get(1)
----
-- true
-...
-s:error()
----
-- error: 'builtin/socket.lua: attempt to use closed socket'
-...
-- random port
master = socket('PF_INET', 'SOCK_STREAM', 'tcp')
---
diff --git a/test/app/socket.test.lua b/test/app/socket.test.lua
index 7ae9a98aa..c72d41763 100644
--- a/test/app/socket.test.lua
+++ b/test/app/socket.test.lua
@@ -340,30 +340,6 @@ s._gc_socket = nil
tostring(s)
s = nil
--- close
-serv = socket('AF_INET', 'SOCK_STREAM', 'tcp')
-serv:setsockopt('SOL_SOCKET', 'SO_REUSEADDR', true)
-serv:bind('127.0.0.1', port)
-port = serv:name().port
-serv:listen()
-test_run:cmd("setopt delimiter ';'")
-f = fiber.create(function(serv)
- serv:readable()
- sc = serv:accept()
- sc:write("Tarantool test server")
- sc:shutdown()
- sc:close()
- serv:close()
-end, serv);
-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)
-s:close()
-ch:get(1)
-s:error()
-
-- random port
master = socket('PF_INET', 'SOCK_STREAM', 'tcp')
master:setsockopt('SOL_SOCKET', 'SO_REUSEADDR', true)
--
2.17.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-08-14 13:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-14 13:00 [PATCH v2] test: app/socket flaky fails at 1118 line Alexander V. Tikhonov
2019-08-14 13:15 ` Vladimir Davydov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox