diff options
Diffstat (limited to 'testes')
-rw-r--r-- | testes/cstack.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/testes/cstack.lua b/testes/cstack.lua index 213d15d4..ca76c872 100644 --- a/testes/cstack.lua +++ b/testes/cstack.lua | |||
@@ -103,6 +103,20 @@ do | |||
103 | end | 103 | end |
104 | 104 | ||
105 | 105 | ||
106 | do -- bug in 5.4.2 | ||
107 | print("nesting coroutines running after recoverable errors") | ||
108 | local count = 0 | ||
109 | local function foo() | ||
110 | count = count + 1 | ||
111 | pcall(1) -- create an error | ||
112 | -- running now inside 'precover' ("protected recover") | ||
113 | coroutine.wrap(foo)() -- call another coroutine | ||
114 | end | ||
115 | checkerror("C stack overflow", foo) | ||
116 | print("final count: ", count) | ||
117 | end | ||
118 | |||
119 | |||
106 | if T then | 120 | if T then |
107 | print("testing stack recovery") | 121 | print("testing stack recovery") |
108 | local N = 0 -- trace number of calls | 122 | local N = 0 -- trace number of calls |