diff options
Diffstat (limited to 'tests/hangtest.lua')
-rw-r--r-- | tests/hangtest.lua | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/hangtest.lua b/tests/hangtest.lua new file mode 100644 index 0000000..d0bbea4 --- /dev/null +++ b/tests/hangtest.lua | |||
@@ -0,0 +1,26 @@ | |||
1 | -- | ||
2 | -- Test case for hang on [1]s and :join()s. | ||
3 | -- | ||
4 | |||
5 | require "lanes" | ||
6 | |||
7 | local function ret(b) | ||
8 | return b | ||
9 | end | ||
10 | local lgen = lanes.gen("*", {}, ret) | ||
11 | |||
12 | for i=1,10000 do | ||
13 | local ln = lgen(i) | ||
14 | |||
15 | print( "getting result for "..i ) | ||
16 | |||
17 | -- Hangs here forever every few hundred runs or so, | ||
18 | -- can be illustrated by putting another print() statement | ||
19 | -- after, which will never be called. | ||
20 | -- | ||
21 | local result = ln[1]; | ||
22 | |||
23 | assert (result == i); | ||
24 | end | ||
25 | |||
26 | print "Finished!" | ||