Added log for sr.pv

Fix set id with [*]
squeeze-backports
Victor Seva 13 years ago
parent 8bdb517d84
commit 0cde0e7e15

@ -3,11 +3,17 @@ require ('logging.file')
require 'lemock'
require 'ngcp.utils'
mc = lemock.controller()
pvMock = {
__class__ = 'pvMock',
vars = {}
vars = {},
_logger = logging.file("reports/sr_pv_%s.log", "%Y-%m-%d"),
_logger_levels = {
dbg = logging.DEBUG,
info = logging.INFO,
warn = logging.WARN,
err = logging.ERROR,
crit = logging.FATAL
}
}
function pvMock:new()
local t = {}
@ -31,15 +37,25 @@ pvMock = {
id = l[1] .. "[0]=>" .. l[2]
end
end
if string.ends(id,"[*]") then
-- clean var
id = string.sub(id,1,-4)
t.log("dbg",string.format("sr.pv erase [%s]", id))
t.vars[id] = nil
end
if not t.vars[id] then
t.vars[id] = value
t.log("dbg", string.format("sr.pv added [%s]:%s", id, value))
elseif type(t.vars[id]) == 'table' then
t.vars[id]:push(value)
t.log("dbg", string.format("sr.pv push [%s]:%s", id, value))
else
local old = t.vars[id]
t.vars[id] = Stack:new()
t.vars[id]:push(old, value)
t.log("dbg", string.format("sr.pv push [%s]:%s", id, value))
end
t.log("dbg", string.format("sr.pv [%s]:%s", id, tostring(t.vars[id])))
end
function t.seti(id, value)
@ -82,6 +98,14 @@ pvMock = {
end
return false
end
function t.log(level, message)
if not t._logger_levels[level] then
error(string.format("level %s unknown", level))
end
t._logger:log(t._logger_levels[level], message)
end
pvMock_MT = { __index = pvMock }
setmetatable(t, pvMock_MT)
return t
@ -101,7 +125,7 @@ srMock = {
crit = logging.FATAL
}
}
srMock_MT = { __index = srMock, __newindex = mc:mock() }
srMock_MT = { __index = srMock, __newindex = lemock.controller():mock() }
function srMock:new()
--print("srMock:new")
local t = {}

@ -5,7 +5,7 @@ require 'ngcp.utils'
-- kamailio log for a table
function table.log(t, msg, level)
if not level then
level = "debug"
level = "dbg"
end
if msg then
sr.log(level, msg)
@ -26,7 +26,7 @@ function sets_avps(list)
local i, v
for i,v in pairs(list) do
-- sr.log("debug","i:" .. i .. " v:" .. v)
-- sr.log("dbg","i:" .. i .. " v:" .. v)
sr.pv.unset('$avp(' .. i ..')[*]')
sr.pv.sets('$avp(' .. i .. ')', v)
end

@ -4,6 +4,7 @@ require 'mocks.sr'
TestMock = {}
function TestMock:testMock()
mc = lemock.controller()
m = mc:mock()
m.pv = mc:mock()
m.titi( 42 )
@ -52,7 +53,7 @@ TestSRMock = {}
for i=#vals,1,-1 do
assertEquals(l[i],vals[v])
v = v + 1
end
end
end
function TestSRMock:test_unset()
@ -92,6 +93,17 @@ TestSRMock = {}
self.sr.log("dbg", "Hi dude!")
assertError(self.sr.log, "debug", "Hi dude!")
end
function TestSRMock:test_set_clean()
self.sr.pv.seti("$avp(s:hithere)[*]", 0)
assertEquals(self.sr.pv.vars["$avp(s:hithere)"], 0)
assertFalse(self.sr.pv.vars["$avp(s:hithere)[*]"])
self.sr.pv.seti("$avp(s:hithere)[*]", 1)
assertEquals(self.sr.pv.vars["$avp(s:hithere)"], 1)
assertFalse(self.sr.pv.vars["$avp(s:hithere)[*]"])
self.sr.pv.seti("$avp(s:hithere)", 0)
assertEquals(table.tostring(self.sr.pv.get("$avp(s:hithere)")), "{0,1}")
end
---- Control test output:
lu = LuaUnit
lu:setOutputType( "TAP" )

Loading…
Cancel
Save