aboutsummaryrefslogtreecommitdiff
path: root/deep_test/deeptest.lua
diff options
context:
space:
mode:
authorBenoit Germain <b n t DOT g e r m a i n AT g m a i l DOT c o m>2018-11-07 19:16:36 +0100
committerBenoit Germain <b n t DOT g e r m a i n AT g m a i l DOT c o m>2018-11-07 19:16:36 +0100
commita142eb1e1ee81919d10b55bb7fa2e33636098d85 (patch)
tree21ef5c830ce4b4e845454af4274beabd073cc720 /deep_test/deeptest.lua
parent91155c74fc10fa98ad6257d5309bfd13d4a61cf0 (diff)
downloadlanes-a142eb1e1ee81919d10b55bb7fa2e33636098d85.tar.gz
lanes-a142eb1e1ee81919d10b55bb7fa2e33636098d85.tar.bz2
lanes-a142eb1e1ee81919d10b55bb7fa2e33636098d85.zip
__lanesclone mechanism should actually work now
Diffstat (limited to 'deep_test/deeptest.lua')
-rw-r--r--deep_test/deeptest.lua53
1 files changed, 35 insertions, 18 deletions
diff --git a/deep_test/deeptest.lua b/deep_test/deeptest.lua
index 3b514dd..c0bbab4 100644
--- a/deep_test/deeptest.lua
+++ b/deep_test/deeptest.lua
@@ -1,22 +1,39 @@
1-- create a deep-aware full userdata while Lanes isn't loaded 1local lanes = require("lanes").configure{ with_timers = false}
2local dt = require "deep_test" 2local l = lanes.linda "my linda"
3local deep = dt.new_deep()
4deep:set(666)
5print( deep)
6 3
7local clonable = dt.new_clonable() 4-- we will transfer userdata created by this module, so we need to make Lanes aware of it
5local dt = lanes.require "deep_test"
8 6
9-- now load Lanes and see if that userdata is transferable 7local test_deep = true
10--[[ 8local test_clonable = false
11local lanes = require("lanes").configure() 9
12local l = lanes.linda "my linda" 10local performTest = function( obj_)
11 obj_:set(666)
12 print( "immediate:", obj_)
13
14 l:set( "key", obj_)
15 local out = l:get( "key")
16 print( "out of linda:", out)
17
18 local g = lanes.gen(
19 "package"
20 , {
21 required = { "deep_test"} -- we will transfer userdata created by this module, so we need to make this lane aware of it
22 }
23 , function( obj_)
24 print( "in lane:", obj_)
25 return obj_
26 end
27 )
28 h = g( obj_)
29 local from_lane = h[1]
30 print( "from lane:", from_lane)
31end
13 32
14l:set( "key", deep) 33if test_deep then
15local deep_out = l:get( "key") 34 performTest( dt.new_deep())
16print( deep_out) 35end
17 36
18lanes.register() 37if test_clonable then
19l:set( "key", clonable) 38 performTest( dt.new_clonable())
20local clonable_out = l:get( "key") 39end
21print( clonable_out)
22--]] \ No newline at end of file