[tarantool-patches] [PATCH v3 3/4] box-tap: syslog destination test unix socket

Olga Arkhangelskaia arkholga at tarantool.org
Tue Jul 24 20:11:51 MSK 2018


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 | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/test/box-tap/cfg.test.lua b/test/box-tap/cfg.test.lua
index 67e4c3af9..d1e595b1c 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,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')
+local socket = require('socket')
+local os = require('os')
+local test = tap.test("syslog_unix")
+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)
+socket.tcp_connect('unix', path)
+
+opt = string.format("syslog:server=unix:%s,identity=tarantool", path)
+res = 1
+if pcall (box.cfg, {log = opt, log_level = 5}) then
+    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
+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)
-- 
2.14.3 (Apple Git-98)





More information about the Tarantool-patches mailing list