1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
context("Memory pool unit tests", function()
test("Mempool variables", function()
local mempool = require "rspamd_mempool"
local pool = mempool.create()
assert_not_nil(pool)
-- string
pool:set_variable('a', 'bcd')
local var = pool:get_variable('a')
assert_equal(var, 'bcd')
-- integer
pool:set_variable('a', 1)
var = pool:get_variable('a', 'double')
assert_equal(var, 1)
-- float
pool:set_variable('a', 1.01)
var = pool:get_variable('a', 'double')
assert_equal(var, 1.01)
-- boolean
pool:set_variable('a', false)
var = pool:get_variable('a', 'bool')
assert_equal(var, false)
-- multiple
pool:set_variable('a', 'bcd', 1, 1.01, false)
local v1, v2, v3, v4 = pool:get_variable('a', 'string,double,double,bool')
assert_equal(v1, 'bcd')
assert_equal(v2, 1)
assert_equal(v3, 1.01)
assert_equal(v4, false)
local t = {1,2,3,4,5}
pool:set_variable('a', t)
local bucket = pool:get_variable('a', 'bucket')
assert_rspamd_table_eq({
expect = t,
actual = bucket
})
pool:destroy()
end)
end)
|