diff --git a/test/app-luatest/gh_7166_wakeup_on_shutdown_fiber_test.lua b/test/app-luatest/gh_7166_wakeup_on_shutdown_fiber_test.lua index 40e61a44e5a4543a9074b2af4eeca2a95c94e161..44cef744274422b85e7cc68d269d79b6999e5dc9 100644 --- a/test/app-luatest/gh_7166_wakeup_on_shutdown_fiber_test.lua +++ b/test/app-luatest/gh_7166_wakeup_on_shutdown_fiber_test.lua @@ -3,7 +3,6 @@ local g = t.group('gh-7166') -- Check that wake up of the shutdown fiber doesn't crash Tarantool g.test_wakeup_on_shutdown_fiber = function() - local lt_fiber = require('test.luatest_helpers.fiber') - local f = lt_fiber.find_by_name('on_shutdown') + local f = t.tarantool.find_fiber_by_name('on_shutdown') f:wakeup() end diff --git a/test/box-luatest/alter_with_compression_test.lua b/test/box-luatest/alter_with_compression_test.lua index 86338e2e43f9bf200147587910f62c147bb9a361..307af60ffa35b53173b67e5a33036b0b50c57491 100644 --- a/test/box-luatest/alter_with_compression_test.lua +++ b/test/box-luatest/alter_with_compression_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') @@ -17,7 +16,7 @@ g.after_all(function(cg) end) g.test_invalid_compression_type_during_space_creation = function(cg) - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() cg.server:exec(function(engine, compression) local t = require('luatest') local format = {{ @@ -36,7 +35,7 @@ g.before_test('test_invalid_compression_type_during_setting_format', function(cg end) g.test_invalid_compression_type_during_setting_format = function(cg) - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() cg.server:exec(function(compression) local t = require('luatest') local format = {{ diff --git a/test/box-luatest/error_on_dynamic_cfg_in_load_cfg_test.lua b/test/box-luatest/error_on_dynamic_cfg_in_load_cfg_test.lua index 05d0f3bd205b4031ffc31256e880450c44bafef5..68d8c57143059a26ec2b52c4558470e35f9a94c2 100644 --- a/test/box-luatest/error_on_dynamic_cfg_in_load_cfg_test.lua +++ b/test/box-luatest/error_on_dynamic_cfg_in_load_cfg_test.lua @@ -1,5 +1,4 @@ local server = require('test.luatest_helpers.server') -local misc = require('test.luatest_helpers.misc') local t = require('luatest') local fio = require('fio') local g = t.group() @@ -13,7 +12,7 @@ g.after_test("test_error_on_dynamic_cfg_in_load_cfg", function() end) g.test_error_on_dynamic_cfg_in_load_cfg = function() - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() g.server:start{wait_for_readiness = false} t.helpers.retrying({}, function() local msg = "Community edition does not support WAL extensions" diff --git a/test/box-luatest/gh_7005_session_on_commit_rollback_test.lua b/test/box-luatest/gh_7005_session_on_commit_rollback_test.lua index cf09cfaee5bb5947b23fc38e55cd57846a4b3c1b..6714b21d3beae85f375d5ab3d6f510ed23887121 100644 --- a/test/box-luatest/gh_7005_session_on_commit_rollback_test.lua +++ b/test/box-luatest/gh_7005_session_on_commit_rollback_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') local g = t.group() @@ -63,7 +62,7 @@ end -- Checks session and user in box.on_rollback trigger callback in case -- transaction is rolled back on WAL error. g.test_session_on_wal_error_rollback = function() - misc.skip_if_not_debug() + t.tarantool.skip_if_not_debug() g.server:exec(function() local t = require('luatest') box.session.su('eve', function() diff --git a/test/box-luatest/gh_7583_txn_stat_test.lua b/test/box-luatest/gh_7583_txn_stat_test.lua index 4316f585454db5512c008c1511d3e549a56ed242..ddbd93d001e8068e97c46a517770426e1e85f3ce 100644 --- a/test/box-luatest/gh_7583_txn_stat_test.lua +++ b/test/box-luatest/gh_7583_txn_stat_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') @@ -131,7 +130,7 @@ g.after_test('test_wal_error', function(cg) end) g.test_wal_error = function(cg) - misc.skip_if_not_debug() + t.tarantool.skip_if_not_debug() cg.server:exec(function() local t = require('luatest') local function stat() diff --git a/test/box-luatest/read_view_test.lua b/test/box-luatest/read_view_test.lua index f95015d803022f443cb52038ac32699c96736390..14c5c9befda89acdc587eb46d751d14ee86718da 100644 --- a/test/box-luatest/read_view_test.lua +++ b/test/box-luatest/read_view_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') local g = t.group() @@ -13,7 +12,7 @@ g.after_all = function(cg) end g.test_read_view = function(cg) - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() cg.server:exec(function() local t = require('luatest') t.assert_error_msg_equals( diff --git a/test/box-luatest/space_upgrade_test.lua b/test/box-luatest/space_upgrade_test.lua index 4e48dfd0a2448910853d6431189fd7c0822032e5..dceb4e75e70f7b2ce7a9e21d845bc8b33c45c667 100644 --- a/test/box-luatest/space_upgrade_test.lua +++ b/test/box-luatest/space_upgrade_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') local g = t.group() @@ -16,7 +15,7 @@ g.after_all = function() end g.test_low_level_api = function() - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() g.server:exec(function() local t = require('luatest') t.assert_error_msg_equals( @@ -27,7 +26,7 @@ g.test_low_level_api = function() end g.test_high_level_api = function() - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() g.server:exec(function() local t = require('luatest') t.assert_error_msg_equals( diff --git a/test/box-luatest/transport_test.lua b/test/box-luatest/transport_test.lua index a667d196ae0b9540e76aa69cbc781bf67769ec7e..edadc68a02bb5452d417fb8a437f622986e517e5 100644 --- a/test/box-luatest/transport_test.lua +++ b/test/box-luatest/transport_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local net = require('net.box') local server = require('test.luatest_helpers.server') local t = require('luatest') @@ -48,7 +47,7 @@ g.test_net_box = function() end g.test_listen_ssl = function() - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() g.server:exec(function() local t = require('luatest') t.assert_error_msg_equals( @@ -58,7 +57,7 @@ g.test_listen_ssl = function() end g.test_replication_ssl = function() - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() g.server:exec(function() local t = require('luatest') t.assert_error_msg_equals( @@ -68,7 +67,7 @@ g.test_replication_ssl = function() end g.test_net_box_ssl = function() - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() t.assert_error_msg_equals( 'SSL is not available in this build', net.connect, {g.server.net_box_uri, params = {transport = 'ssl'}}) diff --git a/test/box-luatest/wal_ext_test.lua b/test/box-luatest/wal_ext_test.lua index cbaf0d662ba43bdd74ba0970d29ab353afe322b6..83166a4c3782aeaaaf315dae29be5be331ef132c 100644 --- a/test/box-luatest/wal_ext_test.lua +++ b/test/box-luatest/wal_ext_test.lua @@ -1,10 +1,9 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') local g = t.group() g.test_walext_unavailable = function() - misc.skip_if_enterprise() + t.tarantool.skip_if_enterprise() g.server = server:new({alias = 'master'}) g.server:start() g.server:exec(function() diff --git a/test/engine-luatest/gh_6930_mvcc_net_box_iso_test.lua b/test/engine-luatest/gh_6930_mvcc_net_box_iso_test.lua index a833c150d5ef66f1650456a5605fd7a8bf5ec423..52e05fd04a87ab97527e7aedc904fe1e97f42471 100644 --- a/test/engine-luatest/gh_6930_mvcc_net_box_iso_test.lua +++ b/test/engine-luatest/gh_6930_mvcc_net_box_iso_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') @@ -25,7 +24,7 @@ g.before_test('test_mvcc_netbox_isolation_level_basics', function(cg) end) g.test_mvcc_netbox_isolation_level_basics = function(cg) - misc.skip_if_not_debug() + t.tarantool.skip_if_not_debug() local t = require('luatest') diff --git a/test/luatest_helpers/fiber.lua b/test/luatest_helpers/fiber.lua deleted file mode 100644 index 9eefb5746ab64567e74417d0adf7164432929725..0000000000000000000000000000000000000000 --- a/test/luatest_helpers/fiber.lua +++ /dev/null @@ -1,15 +0,0 @@ -local fiber = require('fiber') - --- Searches for a fiber with the specified name and returns the fiber object -local function find_by_name(name) - for id, f in pairs(fiber.info()) do - if f.name == name then - return fiber.find(id) - end - end - return nil -end - -return { - find_by_name = find_by_name -} diff --git a/test/luatest_helpers/misc.lua b/test/luatest_helpers/misc.lua deleted file mode 100644 index 4ba626039ce8187d05ed2020bf3957cf008a29f8..0000000000000000000000000000000000000000 --- a/test/luatest_helpers/misc.lua +++ /dev/null @@ -1,28 +0,0 @@ -local luatest = require('luatest') -local tarantool = require('tarantool') - --- Returns true if Tarantool build type is Debug. -local function is_debug_build() - return tarantool.build.target:endswith('-Debug') -end - --- Returns true if Tarantool package is Enterprise. -local function is_enterprise_package() - return tarantool.package == 'Tarantool Enterprise' -end - --- Skips a running test unless Tarantool build type is Debug. -local function skip_if_not_debug() - luatest.skip_if(not is_debug_build(), 'build type is not Debug') -end - --- Skips a running test if Tarantool package is Enterprise. -local function skip_if_enterprise() - luatest.skip_if(is_enterprise_package(), 'package is Enterprise') -end - -return { - is_debug_build = is_debug_build, - skip_if_not_debug = skip_if_not_debug, - skip_if_enterprise = skip_if_enterprise, -} diff --git a/test/luatest_helpers/proxy/connection.lua b/test/luatest_helpers/proxy/connection.lua deleted file mode 100644 index 1fd76d8c72289947f09eca350df3d909a168772f..0000000000000000000000000000000000000000 --- a/test/luatest_helpers/proxy/connection.lua +++ /dev/null @@ -1,145 +0,0 @@ -local checks = require('checks') -local fiber = require('fiber') -local socket = require('socket') - -local TIMEOUT = 0.001 - -local Connection = { - constructor_checks = { - client_socket = '?table', - server_socket_path = 'string', - process_client = '?table', - process_server = '?table', - }, -} - -function Connection:inherit(object) - setmetatable(object, self) - self.__index = self - return object -end - -function Connection:new(object) - checks('table', self.constructor_checks) - self:inherit(object) - object:initialize() - return object -end - -function Connection:initialize() - self.running = false - self.client_connected = true - self.server_connected = false - self.client_fiber = nil - self.server_fiber = nil - - if self.process_client == nil then - self.process_client = { - pre = nil, - func = self.forward_to_server, - post = self.close_client_socket, - } - end - - if self.process_server == nil then - self.process_server = { - pre = nil, - func = self.forward_to_client, - post = self.close_server_socket, - } - end - - self:connect_server_socket() -end - -function Connection:connect_server_socket() - self.server_socket = socket('PF_UNIX', 'SOCK_STREAM', 0) - if self.server_socket:sysconnect('unix/',self.server_socket_path) == false - then - self.server_socket:close() - self.server_socket = nil - return - end - self.server_socket:nonblock(true) - self.server_connected = true - - self.server_fiber = self:process_socket(self.server_socket, - self.process_server) -end - -function Connection:process_socket(sock, process) - local f = fiber.new(function() - if process.pre ~= nil then process.pre(self) end - - while sock:peer() do - if not self.running then - fiber.sleep(TIMEOUT) - elseif sock:readable(TIMEOUT) then - local request = sock:recv() - if request == nil or #request == 0 then break end - if process.func ~= nil then process.func(self, request) end - end - end - - if process.post ~= nil then process.post(self) end - end) - f:set_joinable(true) - f:name('ProxyConnectionIO') - return f -end - -function Connection:start() - self.running = true - if self.client_fiber == nil or self.client_fiber:status() == 'dead' then - self.client_fiber = self:process_socket(self.client_socket, - self.process_client) - end -end - -function Connection:pause() - self.running = false -end - -function Connection:resume() - self.running = true -end - -function Connection:stop() - self:close_client_socket() - self:close_server_socket() -end - -function Connection:forward_to_server(data) - if not self.server_connected then - self:connect_server_socket() - end - if self.server_connected and self.server_socket:writable() then - self.server_socket:write(data) - end -end - -function Connection:forward_to_client(data) - if self.client_connected and self.client_socket:writable() then - self.client_socket:write(data) - end -end - -function Connection:close_server_socket() - if self.server_connected then - self.server_socket:shutdown(socket.SHUT_RW) - self.server_socket:close() - self.server_connected = false - self.server_fiber:join() - end -end - -function Connection:close_client_socket() - if self.client_connected then - self.client_socket:shutdown(socket.SHUT_RW) - self.client_socket:close() - self.client_connected = false - self.client_fiber:join() - end -end - -return Connection diff --git a/test/luatest_helpers/proxy/proxy.lua b/test/luatest_helpers/proxy/proxy.lua deleted file mode 100644 index a246a9c2380b3e2dd1bf73387157ce9437c0b4de..0000000000000000000000000000000000000000 --- a/test/luatest_helpers/proxy/proxy.lua +++ /dev/null @@ -1,117 +0,0 @@ -local socket = require('socket') -local fiber = require('fiber') -local checks = require('checks') -local Connection = require('test.luatest_helpers.proxy.connection') -local log = require('log') - -local TIMEOUT = 0.001 -local BACKLOG = 512 - -local Proxy = { - constructor_checks = { - client_socket_path = 'string', - server_socket_path = 'string', - process_client = '?table', - process_server = '?table', - }, -} - -function Proxy:inherit(object) - setmetatable(object, self) - self.__index = self - return object -end - -function Proxy:new(object) - checks('table', self.constructor_checks) - self:inherit(object) - object:initialize() - return object -end - -function Proxy:initialize() - self.connections = {} - self.accept_new_connections = true - self.running = false - - self.client_socket = socket('PF_UNIX', 'SOCK_STREAM', 0) -end - -function Proxy:stop() - self.running = false - self.worker:join() - for _, c in pairs(self.connections) do - c:stop() - end -end - -function Proxy:pause() - self.accept_new_connections = false - for _, c in pairs(self.connections) do - c:pause() - end -end - -function Proxy:resume() - for _, c in pairs(self.connections) do - c:resume() - end - self.accept_new_connections = true -end - -function Proxy:start(opts) - checks('table', {force = '?boolean'}) - if opts ~= nil and opts.force then - os.remove(self.client_socket_path) - end - - if not self.client_socket:bind('unix/', self.client_socket_path) then - log.error("Failed to bind client socket: %s", self.client_socket:error()) - return false - end - - self.client_socket:nonblock(true) - if not self.client_socket:listen(BACKLOG) then - log.error("Failed to listen on client socket: %s", - self.client_socket:error()) - return false - end - - self.running = true - self.worker = fiber.new(function() - while self.running do - if not self.accept_new_connections then - fiber.sleep(TIMEOUT) - goto continue - end - - if not self.client_socket:readable(TIMEOUT) then - goto continue - end - - local client = self.client_socket:accept() - if client == nil then goto continue end - client:nonblock(true) - - local conn = Connection:new({ - client_socket = client, - server_socket_path = self.server_socket_path, - process_client = self.process_client, - process_server = self.process_server, - }) - table.insert(self.connections, conn) - conn:start() - ::continue:: - end - - self.client_socket:shutdown(socket.SHUT_RW) - self.client_socket:close() - os.remove(self.client_socket_path) - end) - self.worker:set_joinable(true) - self.worker:name('ProxyWorker') - - return true -end - -return Proxy diff --git a/test/luatest_helpers/server.lua b/test/luatest_helpers/server.lua index 7c35ac1e03ebd2e63e963cc19038d419fe037eea..d7ad6acf7f1e4f9ed5c835afce13bfd1f5a2cb8f 100644 --- a/test/luatest_helpers/server.lua +++ b/test/luatest_helpers/server.lua @@ -6,8 +6,6 @@ local fio = require('fio') local fun = require('fun') local json = require('json') local errno = require('errno') --- Full name to avoid loading the built-in misc. -local misc = require('test.luatest_helpers.misc') local checks = require('checks') local luatest = require('luatest') @@ -170,7 +168,7 @@ end -- change in the future. -- WAL delay should already be started before the function is called. function Server:play_wal_until_synchro_queue_is_busy() - luatest.assert(misc.is_debug_build()) + luatest.assert(luatest.tarantool.is_debug_build()) return wait_cond('synchro queue is busy', self, self.exec, self, function() if not box.error.injection.get('ERRINJ_WAL_DELAY') then return false diff --git a/test/replication-luatest/election_fencing_test.lua b/test/replication-luatest/election_fencing_test.lua index 02610e27b65ee32763ee50c614f306d7082c015f..aff2ea0c0de8d48af5fdd3a2144d3479680a4e67 100644 --- a/test/replication-luatest/election_fencing_test.lua +++ b/test/replication-luatest/election_fencing_test.lua @@ -299,7 +299,7 @@ g_mode.test_fencing_mode = function(g) replication_timeout = timeout, }) - local proxy = require('test.luatest_helpers.proxy.proxy'):new({ + local proxy = require('luatest.replica_proxy'):new({ client_socket_path = server.build_instance_uri('server_1_proxy'), server_socket_path = server.build_instance_uri('server_1'), }) diff --git a/test/replication-luatest/gh_7377_bootstrap_connection_failure_test.lua b/test/replication-luatest/gh_7377_bootstrap_connection_failure_test.lua index 00d2f209c28e348ea47a68b183d6c3765b9872d0..06f913066712ac4ef8983fe2a3091b991b4c1d72 100644 --- a/test/replication-luatest/gh_7377_bootstrap_connection_failure_test.lua +++ b/test/replication-luatest/gh_7377_bootstrap_connection_failure_test.lua @@ -1,7 +1,7 @@ local t = require('luatest') local cluster = require('test.luatest_helpers.cluster') local server = require('test.luatest_helpers.server') -local proxy = require('test.luatest_helpers.proxy.proxy') +local proxy = require('luatest.replica_proxy') local fio = require('fio') local fiber = require('fiber') diff --git a/test/replication-luatest/linearizable_test.lua b/test/replication-luatest/linearizable_test.lua index 5abd54e3677ea3a27f0f7d9f2a06198d4d281e4e..91eb69341851b529275dc4b82fc5a36e0cb4ae3a 100644 --- a/test/replication-luatest/linearizable_test.lua +++ b/test/replication-luatest/linearizable_test.lua @@ -1,8 +1,7 @@ local t = require('luatest') -local misc = require('test.luatest_helpers.misc') local cluster = require('test.luatest_helpers.cluster') local server = require('test.luatest_helpers.server') -local proxy = require('test.luatest_helpers.proxy.proxy') +local proxy = require('luatest.replica_proxy') local g = t.group('linearizable-read') local fiber = require('fiber') @@ -84,7 +83,7 @@ g.test_wait_others = function(cg) end g.test_timeout = function(cg) - misc.skip_if_not_debug() + t.tarantool.skip_if_not_debug() cg.servers[1]:exec(function() local t = require('luatest') box.error.injection.set('ERRINJ_RELAY_FROM_TX_DELAY', true) diff --git a/test/vinyl-luatest/gh_7240_abort_yielding_dml_test.lua b/test/vinyl-luatest/gh_7240_abort_yielding_dml_test.lua index e78ac444b82c8212c9ad3f031023e1ea9fc36666..59e656f0dd2cad19f419a13538e604997849e0f5 100644 --- a/test/vinyl-luatest/gh_7240_abort_yielding_dml_test.lua +++ b/test/vinyl-luatest/gh_7240_abort_yielding_dml_test.lua @@ -1,4 +1,3 @@ -local misc = require('test.luatest_helpers.misc') local server = require('test.luatest_helpers.server') local t = require('luatest') @@ -28,7 +27,7 @@ end) -- because it's in read view. -- g.test_abort_yielding_dml = function(cg) - misc.skip_if_not_debug() + t.tarantool.skip_if_not_debug() cg.server:exec(function() local fiber = require('fiber') local t = require('luatest')