<HTML><BODY><br><br><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        Вторник, 17 июля 2018, 17:07 +03:00 от Vladimir Davydov <vdavydov.dev@gmail.com>:<br><br><div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_15318364790000000352_BODY">On Tue, Jul 17, 2018 at 12:02:50PM +0300, Olga Arkhangelskaia wrote:<br>
> Adds syslog remote destination test in app-tap.<br>
> Test creates server, sets appropriate log level and redirects logs to it.<br>
> If log level received by the server is the same - test passes.<br>
> <br><br>
> Usage: test-run.py syslog<br><br>
This line is pointless. We know how to run tests :-) Please remove.</div></div></div></div></blockquote>ok<br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;"><div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_15318364790000000352_BODY"><br><br>
> <br>
> Issue: #3487<br>
> ---<br>
> <a href="https://github.com/tarantool/tarantool/issues/3487" target="_blank">https://github.com/tarantool/tarantool/issues/3487</a><br>
> <br>
> Branch: OKriw/gh-3487-syslog-conf-dest <br>
> ---<br>
> <a href="https://github.com/tarantool/tarantool/tree/OKriw/gh-3487-syslog-conf-dest" target="_blank">https://github.com/tarantool/tarantool/tree/OKriw/gh-3487-syslog-conf-dest</a><br><br>
Please see my reply to your other patch regarding patch formatting.<br><br>
>  test/app-tap/syslog_remote.test.lua | 37 +++++++++++++++++++++++++++++++++++++<br>
>  1 file changed, 37 insertions(+)<br>
>  create mode 100755 test/app-tap/syslog_remote.test.lua<br><br>
In review to v1 I asked you to fold this test in box-tap/cfg.<br>
Any reason why this couldn't/shouldn't be done?<br></div></div></div></div></blockquote>Sorry, I did not notice that comment. However, why in <span style="font-family: Helvetica, Arial, Tahoma, Verdana, sans-serif;" data-mce-style="font-family: Helvetica, Arial, Tahoma, Verdana, sans-serif;">box-tap/cfg.test.lua and not separately?<br></span><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;"><div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_15318364790000000352_BODY"><br>
> <br>
> diff --git a/test/app-tap/syslog_remote.test.lua b/test/app-tap/syslog_remote.test.lua<br>
> new file mode 100755<br>
> index 000000000..01a75fa64<br>
> --- /dev/null<br>
> +++ b/test/app-tap/syslog_remote.test.lua<br>
> @@ -0,0 +1,37 @@<br>
> +#!/usr/bin/env tarantool<br>
> +<br>
> +local tap = require('tap')<br>
> +local socket = require('socket')<br>
> +local os = require('os')<br>
> +local test = tap.test("syslog_remote")<br>
> +local log = require('log')<br>
> +local errno = require('errno')<br>
> +<br>
> +local addr = '127.0.0.1'<br>
> +local port = 1000 + math.random(32768)<br><br>
No, that's not what I meant. Using a random port like that won't save<br>
your from conflicts. You should retry until 'bind' succeeds.</div></div></div></div></blockquote>And how to choose number of attempts? Ten is enough?<br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;"><div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_15318364790000000352_BODY"><br><br>
> +<br>
> +test:plan(1)<br>
> +local function start_server()<br>
> +  test:diag("Starting server %s:%u", addr, port)<br>
> +  local sc = socket('AF_INET', 'SOCK_DGRAM', 'udp')<br>
> +  sc:bind(addr, port)<br>
> +  return sc<br>
> +end<br>
> +<br>
> +local function find_log_str()<br><br>
Nit: I'd just inlined both of these functions.<br><br>
> +  local opt = string.format("syslog:server=%s:%u,identity=tarantool", addr, port)<br>
> +  local res = false<br>
> +  box.cfg{log = opt, log_level = 5}<br>
> +  log.info('Test syslog destination')<br>
> +  while (sc:readable(1)) do<br>
> +          local buf = sc:recv(1000)<br>
> +          print (buf)<br>
> +          res = buf:match('Test syslog destination')<br>
> +  end<br>
> +          test:ok(res, "syslog_remote")<br>
> +end<br><br>
Bad indentation. We use 4 spaces in Lua, never tabs. Please configure<br>
your editor appropriately and fix this test.<br><br>
> +<br>
> +sc = start_server()<br>
> +test:test('syslog_remote',find_log_str(test))<br>
> +sc:close()<br>
> +os.exit(test:check() == true)<br></div></div></div></div></blockquote>
<br>
<br>-- <br>Olga Arkhangelskaia<br></BODY></HTML>