| 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") |