From df97c3a7dc32c840434cbc80fbf75214bcab4524 Mon Sep 17 00:00:00 2001 From: Benoit Germain Date: Fri, 23 Nov 2018 12:12:13 +0100 Subject: Raise an error instead of crashing when attempting to transfer a non-deep full userdata --- tests/lanes_as_upvalue.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/lanes_as_upvalue.lua b/tests/lanes_as_upvalue.lua index 7cc5e14..c1944b0 100644 --- a/tests/lanes_as_upvalue.lua +++ b/tests/lanes_as_upvalue.lua @@ -1,8 +1,11 @@ -local lanes = require "lanes".configure() -- with timers enabled +local lanes = require "lanes".configure{ verbose_errors = true} -- with timers enabled local function foo() local lanes = lanes -- lanes as upvalue end -local h = lanes.gen( "*", foo)() -h:join() +local g = lanes.gen( "*", foo) + +-- this should raise an error as lanes.timer_lane is a Lane (a non-deep full userdata) +local res, err = pcall( g) +print( "Generating lane yielded: ", tostring( res), tostring( err)) -- cgit v1.2.3-55-g6feb