Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladimir Davydov <vdavydov.dev@gmail.com>
To: Olga Arkhangelskaia <arkholga@tarantool.org>
Cc: tarantool-patches@freelists.org
Subject: Re: [tarantool-patches] [PATCH v3 3/4] box-tap: syslog destination test unix socket
Date: Wed, 25 Jul 2018 19:40:57 +0300	[thread overview]
Message-ID: <20180725164057.tfni54gm6wuqetq2@esperanza> (raw)
In-Reply-To: <20180724171152.24921-4-arkholga@tarantool.org>

We fold tests in the patch that implements a feature or fixes a bug
whenever possible. Please fold patches 3 and 4 in patch 1.

On Tue, Jul 24, 2018 at 08:11:51PM +0300, Olga Arkhangelskaia wrote:
> @@ -472,5 +472,40 @@ code = [[pcall(box.cfg, {log = 'syslog:identity=tarantool'})
>  ]]
>  test:is(run_script(code), 0, "syslog log configuration")
>  
> +--
> +-- Check syslog socket configuration
> +--
> +code = [[

> +local tap = require('tap')

Not needed.

> +local socket = require('socket')
> +local os = require('os')

> +local test = tap.test("syslog_unix")

Not needed.

> +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)

Nit: a space missing between , and 0.

> +unix_socket:bind('unix/', path)

> +socket.tcp_connect('unix', path)

Why?

> +
> +opt = string.format("syslog:server=unix:%s,identity=tarantool", path)
> +res = 1
> +if pcall (box.cfg, {log = opt, log_level = 5}) then

You don't need pcall here - box.cfg() must succeed here.

Also, log_level = 5 by default so you don't need to specify it
explicitly.

> +    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
> +        else res = 1 end
> +    else
> +        res = 1
> +    end

This looks over-complicated. Can we rewrite it like shown below?

buf = ...
if buf and buf:match(...) then
    res = 0
else
    res = 1
end

> +end
> +
> +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)

  reply	other threads:[~2018-07-25 16:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-24 17:11 [tarantool-patches] [PATCH v3 0/4] Syslog destination Olga Arkhangelskaia
2018-07-24 17:11 ` [tarantool-patches] [PATCH v3 1/4] Configurable syslog destination Olga Arkhangelskaia
2018-07-25 16:27   ` Vladimir Davydov
2018-07-24 17:11 ` [tarantool-patches] [PATCH v3 2/4] box-tap: test valid log configuration Olga Arkhangelskaia
2018-07-24 17:11 ` [tarantool-patches] [PATCH v3 3/4] box-tap: syslog destination test unix socket Olga Arkhangelskaia
2018-07-25 16:40   ` Vladimir Davydov [this message]
2018-07-24 17:11 ` [tarantool-patches] [PATCH v3 4/4] box-tap:syslog remote destination test Olga Arkhangelskaia
2018-07-25 16:43   ` Vladimir Davydov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180725164057.tfni54gm6wuqetq2@esperanza \
    --to=vdavydov.dev@gmail.com \
    --cc=arkholga@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='Re: [tarantool-patches] [PATCH v3 3/4] box-tap: syslog destination test unix socket' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox