propagate luacov debug hook through coroutines
parent
6d1bd62af9
commit
418a8c5d21
@ -0,0 +1,30 @@
|
||||
-- Luacov helper functions. Note that this is not a dfhack module since it can't
|
||||
-- depend on dfhack.lua.
|
||||
|
||||
local runner = require('luacov.runner')
|
||||
|
||||
print('runner.debug_hook:', runner.debug_hook)
|
||||
|
||||
function init()
|
||||
runner.init()
|
||||
print('** initializing luacov')
|
||||
print('** set debug hook to:', debug.gethook())
|
||||
end
|
||||
|
||||
-- Called by LuaTools.cpp to set the debug hook for new threads. We could do
|
||||
-- this in C++, but that's complicated and scary.
|
||||
function with_luacov(f)
|
||||
print('** wrapping function', f)
|
||||
return function(...)
|
||||
print('** setting debug hook')
|
||||
print('** was:', debug.gethook())
|
||||
debug.sethook(runner.debug_hook, "l")
|
||||
print('** is now:', debug.gethook())
|
||||
print('** running function:', f)
|
||||
print('** params:', ...)
|
||||
return f(...)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return _ENV
|
Loading…
Reference in New Issue