diff options
Diffstat (limited to 'tests/tobeclosed.lua')
-rw-r--r-- | tests/tobeclosed.lua | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/tests/tobeclosed.lua b/tests/tobeclosed.lua index ef09df3..fd157e2 100644 --- a/tests/tobeclosed.lua +++ b/tests/tobeclosed.lua | |||
@@ -36,7 +36,7 @@ do | |||
36 | WR("f closing ", linda_) | 36 | WR("f closing ", linda_) |
37 | closed_by_f = true | 37 | closed_by_f = true |
38 | end | 38 | end |
39 | local lf <close> = lanes.linda("closed by f", close_handler_f) | 39 | local lf <close> = lanes.linda{name = "closed by f", close_handler = close_handler_f} |
40 | 40 | ||
41 | local close_handler_t = setmetatable({}, | 41 | local close_handler_t = setmetatable({}, |
42 | { | 42 | { |
@@ -46,7 +46,7 @@ do | |||
46 | end | 46 | end |
47 | } | 47 | } |
48 | ) | 48 | ) |
49 | local lt <close> = lanes.linda("closed by t", close_handler_t) | 49 | local lt <close> = lanes.linda{name = "closed by t", close_handler = close_handler_t} |
50 | end | 50 | end |
51 | assert(closed_by_f == true) | 51 | assert(closed_by_f == true) |
52 | assert(closed_by_t == true) | 52 | assert(closed_by_t == true) |
@@ -58,13 +58,13 @@ end | |||
58 | WR "================================================================================================" | 58 | WR "================================================================================================" |
59 | WR "Through Linda" | 59 | WR "Through Linda" |
60 | do | 60 | do |
61 | local l = lanes.linda("channel") | 61 | local l = lanes.linda{name = "channel"} |
62 | 62 | ||
63 | local close_handler_f = function(linda_, err_) | 63 | local close_handler_f = function(linda_, err_) |
64 | WR("f closing ", linda_) | 64 | WR("f closing ", linda_) |
65 | linda_:set("closed", true) | 65 | linda_:set("closed", true) |
66 | end | 66 | end |
67 | local l_in = lanes.linda("voyager", close_handler_f) | 67 | local l_in = lanes.linda{name = "voyager", close_handler = close_handler_f} |
68 | l:set("trip", l_in) | 68 | l:set("trip", l_in) |
69 | 69 | ||
70 | do | 70 | do |
@@ -99,14 +99,14 @@ end | |||
99 | WR "================================================================================================" | 99 | WR "================================================================================================" |
100 | WR "Linda closing through Lane" | 100 | WR "Linda closing through Lane" |
101 | do | 101 | do |
102 | local l = lanes.linda("channel") | 102 | local l = lanes.linda{name = "channel"} |
103 | local lane_body = function(l_arg_) | 103 | local lane_body = function(l_arg_) |
104 | WR "In lane body" | 104 | WR "In lane body" |
105 | -- linda obtained through a linda | 105 | -- linda obtained through a linda |
106 | local _count, l_out <close> = l:get("trip") | 106 | local _count, l_out <close> = l:get("trip") |
107 | -- linda from arguments | 107 | -- linda from arguments |
108 | local l_arg <close> = l_arg_ | 108 | local l_arg <close> = l_arg_ |
109 | return true | 109 | return "done" |
110 | end | 110 | end |
111 | 111 | ||
112 | local close_handler_f = function(linda_, err_) | 112 | local close_handler_f = function(linda_, err_) |
@@ -114,11 +114,12 @@ do | |||
114 | local _count, _closed = linda_:get("closed") | 114 | local _count, _closed = linda_:get("closed") |
115 | linda_:set("closed", (_closed or 0) + 1) | 115 | linda_:set("closed", (_closed or 0) + 1) |
116 | end | 116 | end |
117 | local l_in = lanes.linda("voyager", close_handler_f) | 117 | local l_in = lanes.linda{name = "voyager", close_handler = close_handler_f} |
118 | l:set("trip", l_in) | 118 | l:set("trip", l_in) |
119 | 119 | ||
120 | do | 120 | do |
121 | lanes.gen("*", { name = 'auto' }, lane_body)(l_in):join() | 121 | local r, ret = lanes.gen("*", { name = 'auto' }, lane_body)(l_in):join() |
122 | assert(r == true and ret == "done") | ||
122 | end | 123 | end |
123 | local _count, _closed = l_in:get("closed") | 124 | local _count, _closed = l_in:get("closed") |
124 | assert(_count == 1 and _closed == 2) | 125 | assert(_count == 1 and _closed == 2) |