Skip to content

Commit 3a5ddef

Browse files
committed
test: fortify router-luatest/reload_test by checking version
This commit makes the test check version, defined in `vshard.consts` explicitly before reload and after reload. This will allow us to avoid situation, when reload breaks one more time in the future. Note, that `consts` must be explicitly required, even though after reload router uses new `consts`, our router.lua init file still has old `consts`. Follow-up tarantool/vshard-ee#11 NO_DOC=test
1 parent 52d261f commit 3a5ddef

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

test/router-luatest/reload_test.lua

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
local t = require('luatest')
22
local vutil = require('vshard.util')
33
local vtest = require('test.luatest_helpers.vtest')
4+
local vconsts = require('vshard.consts')
45
local git_util = require('test.lua_libs.git_util')
56
local fio = require('fio')
67

@@ -102,6 +103,12 @@ local function router_cfg(router, cfg)
102103
end, {cfg})
103104
end
104105

106+
local function router_assert_version_equals(router, version)
107+
router:exec(function(version)
108+
ilt.assert_equals(ivconst.VERSION, version)
109+
end, {version})
110+
end
111+
105112
--
106113
-- Reload test template:
107114
-- 1. Invoke create_router_at:
@@ -145,6 +152,7 @@ local function reload_router(router, service_name)
145152
ilt.assert_equals(ivshard.router.module_version(), 0)
146153
package.loaded['vshard.router'] = nil
147154
ivshard.router = require('vshard.router')
155+
_G.ivconst = require('vshard.consts')
148156
ilt.assert_equals(ivshard.router.module_version(), 1)
149157

150158
if service ~= nil then
@@ -175,8 +183,10 @@ g.test_basic = function(g)
175183
-- "router: fix reload problem with global function refs".
176184
local hash = '139223269cddefe2ba4b8e9f6e44712f099f4b35'
177185
local router = create_router_at(hash)
186+
router_assert_version_equals(router, nil)
178187
test_basic_template(router)
179188
reload_router(router)
189+
router_assert_version_equals(router, vconsts.VERSION)
180190
test_basic_template(router)
181191
vtest.drop_instance(g, router)
182192
end
@@ -216,8 +226,10 @@ g.test_discovery = function(g)
216226
-- "router: add saving of background service statuses".
217227
local hash = 'f5f386a5a35e6e5efd8f4f2ed1b3d208fdae9095'
218228
local router = create_router_at(hash)
229+
router_assert_version_equals(router, nil)
219230
test_discovery_template(g, router)
220231
reload_router(router, 'discovery_service')
232+
router_assert_version_equals(router, vconsts.VERSION)
221233
test_discovery_template(g, router)
222234
vtest.drop_instance(g, router)
223235
end
@@ -302,6 +314,7 @@ g.test_master_search = function(g)
302314
-- "router: add saving of background service statuses".
303315
local hash = 'f5f386a5a35e6e5efd8f4f2ed1b3d208fdae9095'
304316
local router = create_router_at(hash)
317+
router_assert_version_equals(router, nil)
305318

306319
-- Enable auto master search
307320
local auto_master_cfg_template = table.deepcopy(cfg_template)
@@ -315,6 +328,7 @@ g.test_master_search = function(g)
315328

316329
test_master_search_template(g, router, auto_master_cfg)
317330
reload_router(router)
331+
router_assert_version_equals(router, vconsts.VERSION)
318332
-- Wait for old master_search service to be stopped.
319333
router:exec(function()
320334
local router = ivshard.router.internal.static_router

0 commit comments

Comments
 (0)