diff options
Diffstat (limited to 'testes/coroutine.lua')
-rw-r--r-- | testes/coroutine.lua | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/testes/coroutine.lua b/testes/coroutine.lua index aaf565fb..0a970e98 100644 --- a/testes/coroutine.lua +++ b/testes/coroutine.lua | |||
@@ -172,13 +172,12 @@ do | |||
172 | assert(not X and coroutine.status(co) == "dead") | 172 | assert(not X and coroutine.status(co) == "dead") |
173 | 173 | ||
174 | -- error closing a coroutine | 174 | -- error closing a coroutine |
175 | warn("@on") | ||
176 | local x = 0 | 175 | local x = 0 |
177 | co = coroutine.create(function() | 176 | co = coroutine.create(function() |
178 | local y <close> = func2close(function (self,err) | 177 | local y <close> = func2close(function (self,err) |
179 | if (err ~= 111) then os.exit(false) end -- should not happen | 178 | assert(err == 111) |
180 | x = 200 | 179 | x = 200 |
181 | error("200") | 180 | error(200) |
182 | end) | 181 | end) |
183 | local x <close> = func2close(function (self, err) | 182 | local x <close> = func2close(function (self, err) |
184 | assert(err == nil); error(111) | 183 | assert(err == nil); error(111) |
@@ -187,16 +186,8 @@ do | |||
187 | end) | 186 | end) |
188 | coroutine.resume(co) | 187 | coroutine.resume(co) |
189 | assert(x == 0) | 188 | assert(x == 0) |
190 | -- with test library, use 'store' mode to check warnings | ||
191 | warn(not T and "@off" or "@store") | ||
192 | local st, msg = coroutine.close(co) | 189 | local st, msg = coroutine.close(co) |
193 | if not T then | 190 | assert(st == false and coroutine.status(co) == "dead" and msg == 200) |
194 | warn("@on") | ||
195 | else -- test library | ||
196 | assert(string.find(_WARN, "200")); _WARN = false | ||
197 | warn("@normal") | ||
198 | end | ||
199 | assert(st == false and coroutine.status(co) == "dead" and msg == 111) | ||
200 | assert(x == 200) | 191 | assert(x == 200) |
201 | 192 | ||
202 | end | 193 | end |