From 7a813f433a548d985891543f3fb832c181cae084 Mon Sep 17 00:00:00 2001 From: Timur Safin <tsafin@tarantool.org> Date: Tue, 15 Nov 2022 11:39:44 +0300 Subject: [PATCH] debugger: introduce logging facility It's frequently needed to see interaction of a luatest script and its chield launched via popen. Now we display extra debugging information received from children pipes directly to the parent screen. It's hidden by default by luatest (if everything goes well), but could be displayed with `luatest -c` option. ``` luatest -c -v app-luatest/console_debugger_session_test.lua ``` NO_DOC=internal NO_CHANGELOG=internal --- test/app-luatest/console_debugger_session_test.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/app-luatest/console_debugger_session_test.lua b/test/app-luatest/console_debugger_session_test.lua index b27a8a6bc1..8fc2284503 100644 --- a/test/app-luatest/console_debugger_session_test.lua +++ b/test/app-luatest/console_debugger_session_test.lua @@ -37,6 +37,10 @@ local function dbg_failed_range(v) format(v, 1, 0x7fffff00) end +local function debuglog(...) + print('--', ...) +end + local cmd_aliases = { ['b'] = 'b|break|breakpoint|add_break|add_breakpoint', ['bd'] = 'bd|bdelete|delete_break|delete_breakpoint', @@ -197,12 +201,14 @@ local function run_debug_session(cmdline, sequence, header) cmd = cmd .. '\n' end fh:write(cmd) + debuglog('Execute command: "'..trim(cmd)..'"') end local result local clean_cmd = trim(cmd) -- there should be empty stderr - check it before stdout local errout = fh:read({ timeout = 0.05, stderr = true}) + debuglog('stderr output: ', trim(errout)) if first and errout then -- we do not expect anything on stderr -- with exception of initial debugger header @@ -213,6 +219,7 @@ local function run_debug_session(cmdline, sequence, header) end repeat result = trim(unescape(fh:read({ timeout = 0.5 }))) + debuglog('stdout output:', result) until result ~= '' or result ~= clean_cmd if expected ~= '' then t.assert_str_contains(result, expected, false) -- GitLab