diff --git a/test/box/fiber.result b/test/box/fiber.result index 606b86e50b3b5baed3489b3337473d7a46a58cb1..8f6c54ee0e2894363673c6f3983b0c162c8bd063 100644 --- a/test/box/fiber.result +++ b/test/box/fiber.result @@ -233,15 +233,27 @@ fiber.cancel(f); --- ... -- fiber garbage collection -for k = 1, 1000, 1 do +n = 1000; +--- +... +ch = fiber.channel(n); +--- +... +for k = 1, n, 1 do fiber.create( function() fiber.sleep(0) + ch:put(k) end ) end; --- ... +for k = 1, n, 1 do + ch:get() +end; +--- +... --# setopt delimiter '' collectgarbage('collect') --- @@ -466,26 +478,6 @@ res - - hello - world ... -for k=1, 10000, 1 do fiber.create(function() fiber.sleep(0) end) end ---- -... -collectgarbage('collect') ---- -- 0 -... --- check that these newly created fibers are garbage collected -fiber.find(9000) ---- -- null -... -fiber.find(9010) ---- -- null -... -fiber.find(9020) ---- -- null -... -- test fiber.status functions: invalid arguments fiber.status(1) --- diff --git a/test/box/fiber.test.lua b/test/box/fiber.test.lua index bb5802db31b27068a5b16d20a073f8a01a8db845..72a21ce64cac8165abf34464e760a13f39c44c99 100644 --- a/test/box/fiber.test.lua +++ b/test/box/fiber.test.lua @@ -77,13 +77,20 @@ f = fiber.create(y); fiber.sleep(0.002); fiber.cancel(f); -- fiber garbage collection -for k = 1, 1000, 1 do +n = 1000; +ch = fiber.channel(n); +for k = 1, n, 1 do fiber.create( function() fiber.sleep(0) + ch:put(k) end ) end; + +for k = 1, n, 1 do + ch:get() +end; --# setopt delimiter '' collectgarbage('collect') @@ -174,12 +181,6 @@ res f=fiber.create(r, 'hello', 'world', 'wide') while f:status() == 'running' do fiber.sleep(0) end res -for k=1, 10000, 1 do fiber.create(function() fiber.sleep(0) end) end -collectgarbage('collect') --- check that these newly created fibers are garbage collected -fiber.find(9000) -fiber.find(9010) -fiber.find(9020) -- test fiber.status functions: invalid arguments fiber.status(1) fiber.status('fafa-gaga')