test/timertest.lua

1
require("luaevent.core")
2
 
3
c = luaevent.core.new()
4
local f = 100
5
local function createEvent()
6
	return c:addevent(nil, luaevent.core.EV_TIMEOUT, function(ev) io.write(".." .. f) f = f - 1 if f < 0 then return -1 end collectgarbage() end, 0.01)
7
end
8
ev = createEvent()
9
print("TESTING Garbage-collect-safe version")
10
c:loop()
11
assert(f < 0, "DID NOT FINISH LOOPING")
12
io.write("\n")
13
print("TESTING Garbage-collect unsafe version")
14
f = 100
15
createEvent()
16
c:loop()
17
assert(f >= 0, "Did not perform expected collection")
18
io.write("\n")
19
print("Completed both tests")