From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 17 Jul 2018 17:07:55 +0300 From: Vladimir Davydov Subject: Re: [tarantool-patches] [PATCH v2 2/3] Syslog remote destination test Message-ID: <20180717140755.j2pn2skisgvcnep6@esperanza> References: <20180717090251.53077-1-arkholga@tarantool.org> <20180717090251.53077-3-arkholga@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180717090251.53077-3-arkholga@tarantool.org> To: Olga Arkhangelskaia Cc: tarantool-patches@freelists.org List-ID: On Tue, Jul 17, 2018 at 12:02:50PM +0300, Olga Arkhangelskaia wrote: > Adds syslog remote destination test in app-tap. > Test creates server, sets appropriate log level and redirects logs to it. > If log level received by the server is the same - test passes. > > Usage: test-run.py syslog This line is pointless. We know how to run tests :-) Please remove. > > Issue: #3487 > --- > https://github.com/tarantool/tarantool/issues/3487 > > Branch: OKriw/gh-3487-syslog-conf-dest > --- > https://github.com/tarantool/tarantool/tree/OKriw/gh-3487-syslog-conf-dest Please see my reply to your other patch regarding patch formatting. > test/app-tap/syslog_remote.test.lua | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100755 test/app-tap/syslog_remote.test.lua In review to v1 I asked you to fold this test in box-tap/cfg. Any reason why this couldn't/shouldn't be done? > > diff --git a/test/app-tap/syslog_remote.test.lua b/test/app-tap/syslog_remote.test.lua > new file mode 100755 > index 000000000..01a75fa64 > --- /dev/null > +++ b/test/app-tap/syslog_remote.test.lua > @@ -0,0 +1,37 @@ > +#!/usr/bin/env tarantool > + > +local tap = require('tap') > +local socket = require('socket') > +local os = require('os') > +local test = tap.test("syslog_remote") > +local log = require('log') > +local errno = require('errno') > + > +local addr = '127.0.0.1' > +local port = 1000 + math.random(32768) No, that's not what I meant. Using a random port like that won't save your from conflicts. You should retry until 'bind' succeeds. > + > +test:plan(1) > +local function start_server() > + test:diag("Starting server %s:%u", addr, port) > + local sc = socket('AF_INET', 'SOCK_DGRAM', 'udp') > + sc:bind(addr, port) > + return sc > +end > + > +local function find_log_str() Nit: I'd just inlined both of these functions. > + local opt = string.format("syslog:server=%s:%u,identity=tarantool", addr, port) > + local res = false > + box.cfg{log = opt, log_level = 5} > + log.info('Test syslog destination') > + while (sc:readable(1)) do > + local buf = sc:recv(1000) > + print (buf) > + res = buf:match('Test syslog destination') > + end > + test:ok(res, "syslog_remote") > +end Bad indentation. We use 4 spaces in Lua, never tabs. Please configure your editor appropriately and fix this test. > + > +sc = start_server() > +test:test('syslog_remote',find_log_str(test)) > +sc:close() > +os.exit(test:check() == true)