mirror of https://github.com/rspamd/rspamd.git
Rapid spam filtering system
https://rspamd.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
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)
|