From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id BF5FA441841 for ; Fri, 27 Mar 2020 16:29:57 +0300 (MSK) From: Igor Munkin Date: Fri, 27 Mar 2020 16:23:38 +0300 Message-Id: <391b2b4e4c8c6d4875f00bdd4dafa08999cc59af.1585312984.git.imun@tarantool.org> In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 4/4] test: enable luajit-tap:lj-flush-on-trace tests List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sergey Ostanevich , Vladislav Shpilevoy Cc: tarantool-patches@dev.tarantool.org The test is added as a CMake subdirectory and the runner executes tarantool test.lua command via io.popen to check whether the platform successfully finishes the execution or platform panic occurs. Signed-off-by: Igor Munkin --- test/CMakeLists.txt | 1 + test/app-tap/lj-flush-on-trace.test.lua | 30 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100755 test/app-tap/lj-flush-on-trace.test.lua diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bceea4567..0ae3843e3 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -60,6 +60,7 @@ add_subdirectory(app-tap) add_subdirectory(box) add_subdirectory(unit) add_subdirectory(luajit-tap/gh-4427-ffi-sandwich) +add_subdirectory(luajit-tap/lj-flush-on-trace) # Move tarantoolctl config if (NOT ${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) diff --git a/test/app-tap/lj-flush-on-trace.test.lua b/test/app-tap/lj-flush-on-trace.test.lua new file mode 100755 index 000000000..70b7bd9a2 --- /dev/null +++ b/test/app-tap/lj-flush-on-trace.test.lua @@ -0,0 +1,30 @@ +#!/usr/bin/env tarantool + +local tap = require('tap') + +local test = tap.test('lj-flush-on-trace') + +local cmd = string.gsub( + 'LUA_CPATH=$/?.so LD_LIBRARY_PATH=$ tarantool 2>&1 $/test.lua %d %d', + '%$', os.getenv('BUILDDIR') .. '/test/luajit-tap/lj-flush-on-trace') + +local checks = { + { hotloop = 1, trigger = 1, success = true }, + { hotloop = 1, trigger = 2, success = false }, +} + +test:plan(#checks) + +for _, ch in pairs(checks) do + local res + local proc = io.popen(cmd:format(ch.hotloop, ch.trigger)) + for s in proc:lines('*l') do res = s end + assert(res, 'proc:lines failed') + if ch.success then + test:is(res, 'OK') + else + test:is(res, 'JIT mode change is detected while executing the trace') + end +end + +os.exit(test:check() and 0 or 1) -- 2.25.0