>Вторник, 17 июля 2018, 17:07 +03:00 от Vladimir Davydov : > >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. ok > > >> >> 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? Sorry, I did not notice that comment. However, why in box-tap/cfg.test.lua and not separately? > >> >> 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. And how to choose number of attempts? Ten is enough? > > >> + >> +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) -- Olga Arkhangelskaia