From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp37.i.mail.ru (smtp37.i.mail.ru [94.100.177.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 1F3AC469710 for ; Thu, 14 May 2020 11:06:08 +0300 (MSK) From: "Alexander V. Tikhonov" Date: Thu, 14 May 2020 11:06:06 +0300 Message-Id: <5e8736537209a6b2d45d47a15edb22d8e6a09f59.1589443360.git.avtikhon@tarantool.org> Subject: [Tarantool-patches] [PATCH v1] test: set unix sockets for iproto at core = app List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Oleg Piskunov , Sergey Bronnikov , Alexander Turenko Cc: tarantool-patches@dev.tarantool.org Set hard-coded unix sockets for iproto connections at core = app. Added its option in *-tap/suites.ini files and fixed tests for it. Fix helped to handle the problem with 'Address already in use' error. Check the previous commit that set the use of sockets: 60f84cbfca24e3a91cea067c923e006b44ee589f ('test: use unix sockets for iproto connections') Closes #4459 --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4008-unix_sockets_iproto_sql_tap Issue: https://github.com/tarantool/tarantool/issues/4459 test/app-tap/init_script.test.lua | 7 ++++++- test/app-tap/suite.ini | 1 + test/app-tap/tarantoolctl.test.lua | 4 ++-- test/box-tap/auth.test.lua | 6 +++++- test/box-tap/session.test.lua | 7 +++++-- test/box-tap/suite.ini | 1 + test/sql-tap/gh-4077-iproto-execute-no-bind.test.lua | 6 +++++- test/sql-tap/suite.ini | 1 + 8 files changed, 26 insertions(+), 7 deletions(-) diff --git a/test/app-tap/init_script.test.lua b/test/app-tap/init_script.test.lua index 155f149a7..d7cea7c40 100755 --- a/test/app-tap/init_script.test.lua +++ b/test/app-tap/init_script.test.lua @@ -2,8 +2,12 @@ -- -- Testing init script -- + +local LISTEN_SOCKET = 'init_script.listen.sock' + +os.remove(LISTEN_SOCKET) box.cfg{ - listen = os.getenv("LISTEN"), + listen = 'unix/:./' .. LISTEN_SOCKET, pid_file = "box.pid", memtx_memory=107374182, log="tarantool.log" @@ -86,4 +90,5 @@ fiber.sleep(0.0) assert (require ~= nil) space:drop() +os.remove(LISTEN_SOCKET) os.exit() diff --git a/test/app-tap/suite.ini b/test/app-tap/suite.ini index 9629dfad5..daababef5 100644 --- a/test/app-tap/suite.ini +++ b/test/app-tap/suite.ini @@ -4,3 +4,4 @@ description = application server tests (TAP) lua_libs = lua/require_mod.lua lua/serializer_test.lua is_parallel = True pretest_clean = True +use_unix_sockets_iproto = True diff --git a/test/app-tap/tarantoolctl.test.lua b/test/app-tap/tarantoolctl.test.lua index 4d7059559..675e511dd 100755 --- a/test/app-tap/tarantoolctl.test.lua +++ b/test/app-tap/tarantoolctl.test.lua @@ -465,12 +465,12 @@ else local remote_path = create_script(dir, 'remote.lua', remote_code) test_run:cmd(("create server remote with script='%s'"):format(remote_path)) test_run:cmd("start server remote") - local port = tonumber( + local admin_socket = tostring( test_run:eval("remote", "return require('uri').parse(box.cfg.listen).service")[1] ) - local command_base = ('tarantoolctl play localhost:%d filler/00000000000000000000.xlog'):format(port) + local command_base = ('tarantoolctl play %s filler/00000000000000000000.xlog'):format(admin_socket) local status, err = pcall(function() test:test("fill and test play output", function(test_i) diff --git a/test/box-tap/auth.test.lua b/test/box-tap/auth.test.lua index 4e9879408..5d6687a33 100755 --- a/test/box-tap/auth.test.lua +++ b/test/box-tap/auth.test.lua @@ -6,8 +6,11 @@ local tap = require('tap') local netbox = require('net.box') local urilib = require('uri') +local LISTEN_SOCKET = 'auth.listen.sock' +os.remove(LISTEN_SOCKET) + box.cfg { - listen = os.getenv('LISTEN'); + listen = 'unix/:./' .. LISTEN_SOCKET, log="tarantool.log"; memtx_memory=100*1024*1024; } @@ -163,4 +166,5 @@ space:drop() box.schema.user.drop('test', { if_exists = true}) box.schema.user.drop("test2", { if_exists = true}) +os.remove(LISTEN_SOCKET) os.exit(test:check() == true and 0 or -1) diff --git a/test/box-tap/session.test.lua b/test/box-tap/session.test.lua index 5d4965533..333736d72 100755 --- a/test/box-tap/session.test.lua +++ b/test/box-tap/session.test.lua @@ -4,11 +4,13 @@ local tap = require('tap') local test = tap.test('session') local fiber = require('fiber') +local LISTEN_SOCKET = 'session.listen.sock' + +os.remove(LISTEN_SOCKET) box.cfg{ - listen = os.getenv('LISTEN'); + listen = 'unix/:./' .. LISTEN_SOCKET, log="tarantool.log"; } - local uri = require('uri').parse(box.cfg.listen) local HOST, PORT = uri.host or 'localhost', uri.service session = box.session @@ -217,4 +219,5 @@ box.schema.user.revoke('guest', 'execute', 'function', 'f2') inspector:cmd('stop server session with cleanup=1') session = nil +os.remove(LISTEN_SOCKET) os.exit(test:check() == true and 0 or -1) diff --git a/test/box-tap/suite.ini b/test/box-tap/suite.ini index 8d9e32d3f..3cdef2131 100644 --- a/test/box-tap/suite.ini +++ b/test/box-tap/suite.ini @@ -3,5 +3,6 @@ core = app description = Database tests with #! using TAP is_parallel = True pretest_clean = True +use_unix_sockets_iproto = True fragile = cfg.test.lua ; gh-4344 key_def.test.lua ; gh-4252 diff --git a/test/sql-tap/gh-4077-iproto-execute-no-bind.test.lua b/test/sql-tap/gh-4077-iproto-execute-no-bind.test.lua index d4b597e35..412649df8 100755 --- a/test/sql-tap/gh-4077-iproto-execute-no-bind.test.lua +++ b/test/sql-tap/gh-4077-iproto-execute-no-bind.test.lua @@ -15,8 +15,11 @@ local IPROTO_OK = 0x00 local IPROTO_SCHEMA_VERSION = 0x05 local IPROTO_STATUS_KEY = 0x00 +local LISTEN_SOCKET = 'gh-4077.listen.sock' + +os.remove(LISTEN_SOCKET) box.cfg({ - listen = os.getenv('LISTEN') or 'localhost:3301', + listen = 'unix/:./' .. LISTEN_SOCKET, }) box.schema.user.grant('guest', 'read,write,execute', 'universe') @@ -69,4 +72,5 @@ test:is_deeply(res, exp_res, 'verify inserted data') box.execute('drop table T') box.schema.user.revoke('guest', 'read,write,execute', 'universe') +os.remove(LISTEN_SOCKET) os.exit(test:check() == true and 0 or 1) diff --git a/test/sql-tap/suite.ini b/test/sql-tap/suite.ini index 8f3c3eab1..0e8498875 100644 --- a/test/sql-tap/suite.ini +++ b/test/sql-tap/suite.ini @@ -29,5 +29,6 @@ long_run = gh-3332-tuple-format-leak.test.lua, gh-3083-ephemeral-unref-tuples.te config = engine.cfg show_reproduce_content = False pretest_clean = True +use_unix_sockets_iproto = True fragile = gh-4077-iproto-execute-no-bind.test.lua ; gh-4459 selectG.test.lua ; gh-4458 -- 2.17.1