[Tarantool-patches] [PATCH v1] test: flaky box/net.box_wait_connected_gh-3856

Alexander V. Tikhonov avtikhon at tarantool.org
Tue Jun 16 17:25:55 MSK 2020


Found issue running test on FreeBSD VBox host:

 [011] --- box/net.box_wait_connected_gh-3856.result	Mon Jun 15 09:39:49 2020
 [011] +++ box/net.box_wait_connected_gh-3856.reject	Fri May  8 08:23:30 2020
 [011] @@ -12,7 +12,8 @@
 [011]  - opts:
 [011]      wait_connected: false
 [011]    host: 8.8.8.8
 [011] -  state: initial
 [011] +  state: error
 [011] +  error: Invalid argument
 [011]    port: '123456'
 [011]  ...
 [011]  c:close()

The test uses external Google DNS IP, check information on it:
  https://developers.google.com/speed/public-dns/docs/using
This issue appears because the link is external and connection
may fail from time to time. In this case the test should wait
till connection state became 'initial' and only after that the
test can continue.

Closes #5083
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5083-net-box-google-dns
Issue: https://github.com/tarantool/tarantool/issues/5083

 test/box/net.box_wait_connected_gh-3856.result   | 9 +++++++++
 test/box/net.box_wait_connected_gh-3856.test.lua | 4 ++++
 2 files changed, 13 insertions(+)

diff --git a/test/box/net.box_wait_connected_gh-3856.result b/test/box/net.box_wait_connected_gh-3856.result
index 9234e6cb9..6b8a94b43 100644
--- a/test/box/net.box_wait_connected_gh-3856.result
+++ b/test/box/net.box_wait_connected_gh-3856.result
@@ -1,12 +1,21 @@
 net = require('net.box')
 ---
 ...
+test_run = require('test_run').new()
+---
+...
 --
 -- gh-3856: wait_connected = false is ignored.
+-- Test uses Google DNS IP for testing:
+-- https://developers.google.com/speed/public-dns/docs/using
 --
 c = net.connect('8.8.8.8:123456', {wait_connected = false})
 ---
 ...
+test_run:wait_cond(function() return c.state == 'initial' end)
+---
+- true
+...
 c
 ---
 - opts:
diff --git a/test/box/net.box_wait_connected_gh-3856.test.lua b/test/box/net.box_wait_connected_gh-3856.test.lua
index 29e997fb5..d9fa80f3f 100644
--- a/test/box/net.box_wait_connected_gh-3856.test.lua
+++ b/test/box/net.box_wait_connected_gh-3856.test.lua
@@ -1,8 +1,12 @@
 net = require('net.box')
+test_run = require('test_run').new()
 
 --
 -- gh-3856: wait_connected = false is ignored.
+-- Test uses Google DNS IP for testing:
+-- https://developers.google.com/speed/public-dns/docs/using
 --
 c = net.connect('8.8.8.8:123456', {wait_connected = false})
+test_run:wait_cond(function() return c.state == 'initial' end)
 c
 c:close()
-- 
2.17.1



More information about the Tarantool-patches mailing list