-
Notifications
You must be signed in to change notification settings - Fork 12
Closed
Description
When before_all trigger is defined as g.before_all = function() ..., then test with group config doesn't work, it seems before_all doesn't launch at all, as the test fails with the following error:
[001] replication-luatest/check_group_test.lua [ fail ]
[001] Test failed! Output from reject file /tmp/t/rejects/replication-luatest/check_group.reject:
[001] Tarantool version is 3.3.0-entrypoint-107-g0c7f17ffe
[001] TAP version 13
[001] 1..2
[001] # Started on Thu Sep 26 11:48:30 2024
[001] # Starting group: hey.engine:"memtx"
[001] not ok 1 hey.engine:"memtx".test_something
[001] # .../tarantool/test/replication-luatest/check_group_test.lua:20: attempt to index field 'master' (a nil value)
[001] # stack traceback:
[001] # ...
[001] # [C]: in function 'xpcall'
[001] # Starting group: hey.engine:"vinyl"
[001] not ok 2 hey.engine:"vinyl".test_something
[001] # .../tarantool/test/replication-luatest/check_group_test.lua:20: attempt to index field 'master' (a nil value)
[001] # stack traceback:
[001] # ...
[001] # [C]: in function 'xpcall'
[001] # Ran 2 tests in 0.001 seconds, 0 succeeded, 2 errored
However, when it's defined as g.before_all(function()...), everything is fine.
Broken one
local t = require('luatest')
local replica_set = require('luatest.replica_set')
local server = require('luatest.server')
local g = t.group('hey', {{engine = 'memtx'}, {engine = 'vinyl'}})
g.before_all = function(lg)
lg.replica_set = replica_set:new({})
lg.master = lg.replica_set:build_and_add_server({alias = 'master', box_cfg = {
replication_timeout = 0.1,
}})
lg.replica_set:start()
end
g.after_all = function(lg)
lg.replica_set:drop()
end
g.test_something = function(lg)
lg.master:exec(function()
t.assert(true)
end)
endWorking one
local t = require('luatest')
local replica_set = require('luatest.replica_set')
local server = require('luatest.server')
local g = t.group('hey', {{engine = 'memtx'}, {engine = 'vinyl'}})
g.before_all(function(lg)
lg.replica_set = replica_set:new({})
lg.master = lg.replica_set:build_and_add_server({alias = 'master', box_cfg = {
replication_timeout = 0.1,
}})
lg.replica_set:start()
end)
g.after_all(function(lg)
lg.replica_set:drop()
end)
g.test_something = function(lg)
lg.master:exec(function()
t.assert(true)
end)
endMetadata
Metadata
Assignees
Labels
No labels