[tarantool-patches] Re: [PATCH v1] test: enable unix sockets at sql-tap suite

Alexander Turenko alexander.turenko at tarantool.org
Mon Aug 19 17:01:30 MSK 2019


I don't have objections against the approach in general. I think it is
not a big deal to implement it right in test-run under a separate
suite.ini option, but anyway let's fix it in the way you consider more
productive.

I would look whether we can fix all *-tap tests in this way at once (see
below) and I have a minor comments re commit message (see below too).

WBR, Alexander Turenko.

The title is the following:

> test: enable unix sockets at sql-tap suite

However the commit adds it to other *-tap test suites.

On Fri, Aug 16, 2019 at 04:27:25PM +0300, Alexander V. Tikhonov wrote:
> Set hard-coded unix sockets for iproto connections for all the
> tests that used LISTEN test-run environment variable at all
> *-tap suites which used core = app in suites.ini configuration
> files, because 'app' core in test-run didn't provide the ability
> to use unix sockets. It helped to handle the problem with
> 'Address already in use' error.
> Check the previous commit that set the use of sockets:

...of unix sockets?

> 
> 60f84cbfca24e3a91cea067c923e006b44ee589f ('test: use unix sockets for iproto connections')
> 
> Follows up #4008

I would file an issue to test-run (re ability to use a unix socket as
listen one in core = 'app') and mention it here, but up to you.

> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4008-unix_sockets_iproto_sql_tap
> Issue: https://github.com/tarantool/tarantool/issues/4008
> 
>  test/app-tap/init_script.test.lua                    | 7 ++++++-
>  test/box-tap/auth.test.lua                           | 6 +++++-
>  test/box-tap/session.test.lua                        | 7 +++++--
>  test/sql-tap/gh-4077-iproto-execute-no-bind.test.lua | 6 +++++-

There are also LISTEN environment variable usages in
test/app-tap/tarantoolctl.test.lua and test/app-tap/debug.test.lua (in
the file test/app-tap/debug/server.lua). Is it doable to fix all that
places at once?

>  4 files changed, 21 insertions(+), 5 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/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/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)
> -- 
> 2.17.1
> 




More information about the Tarantool-patches mailing list