From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 31 Jul 2018 16:55:35 +0300 From: Vladimir Davydov Subject: Re: [tarantool-patches] [PATCH v4 3/4] box-tap: syslog destination test unix socket Message-ID: <20180731135535.if77jnyw36xx5hob@esperanza> References: <20180731101833.55671-1-arkholga@tarantool.org> <20180731101833.55671-4-arkholga@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180731101833.55671-4-arkholga@tarantool.org> To: Olga Arkhangelskaia Cc: tarantool-patches@freelists.org List-ID: We don't submit tests accompanying a feature in separate patches unless there's a reason to do that. Please fold patches 3 and 4 in patch 1. On Tue, Jul 31, 2018 at 01:18:32PM +0300, Olga Arkhangelskaia wrote: > Adds syslog destination unix test in box-tap. > Test redirects logs to newly created unix socket and sets appropriate > log level. If log receives the same level - test passes. In case if > syslog is not configured we use pcall. > > Closes #3487 > --- > test/box-tap/cfg.test.lua | 29 ++++++++++++++++++++++++++++- > 1 file changed, 28 insertions(+), 1 deletion(-) > > diff --git a/test/box-tap/cfg.test.lua b/test/box-tap/cfg.test.lua > index 67e4c3af9..2b1769395 100755 > --- a/test/box-tap/cfg.test.lua > +++ b/test/box-tap/cfg.test.lua > @@ -6,7 +6,7 @@ local socket = require('socket') > local fio = require('fio') > local uuid = require('uuid') > local msgpack = require('msgpack') > -test:plan(96) > +test:plan(97) > > -------------------------------------------------------------------------------- > -- Invalid values > @@ -472,5 +472,32 @@ code = [[pcall(box.cfg, {log = 'syslog:identity=tarantool'}) > ]] > test:is(run_script(code), 0, "syslog log configuration") > > +-- > +-- Check syslog socket configuration > +-- s/socket/unix socket Also, we usually mention GitHub ticket in the comment to a test case, e.g. gh-3487. > +code = [[ > +local socket = require('socket') > +local log = require('log') > +local fio = require('fio') > + > +path = fio.pathjoin(fio.cwd(), 'log_unix_socket_test.sock') > +unix_socket = socket('AF_UNIX', 'SOCK_DGRAM', 0) > +unix_socket:bind('unix/', path) > + > +opt = string.format("syslog:server=unix:%s,identity=tarantool", path) > +res = 1 > +box.cfg{log = opt, log_level = 5} > +log.info("Test socket syslog destination") > +buf = unix_socket:read("Test socket syslog destination", 30) > +if buf ~= nil then > + if buf:match('Test socket syslog destination') then res = 0 end > +end I don't like that you use such a long string as a delimiter (first argument of 'read' is delimiter, right?). It looks weird. Why not rewrite the code exactly in the way you use for testing udp syslog destination? > + > +unix_socket:close() > +os.remove(path) > +os.exit(res) > +]] > +test:is(run_script(code), 0, "unix socket syslog log configuration") > + > test:check() > os.exit(0)