mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
* testament: error instead of silently ignore invalid targets * s/target/targets/ * fix test; refs #16344 * address comments * Update testament/specs.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
30 lines
651 B
Nim
30 lines
651 B
Nim
discard """
|
|
targets: "c"
|
|
disabled: true
|
|
"""
|
|
|
|
import coro
|
|
var
|
|
stackCheckValue = 1100220033
|
|
numbers = newSeqOfCap[int](10)
|
|
|
|
proc testExceptions(id: int, sleep: float) =
|
|
try:
|
|
numbers.add(id)
|
|
suspend(sleep)
|
|
numbers.add(id)
|
|
raise (ref ValueError)()
|
|
except:
|
|
suspend(sleep)
|
|
numbers.add(id)
|
|
suspend(sleep)
|
|
numbers.add(id)
|
|
suspend(sleep)
|
|
numbers.add(id)
|
|
|
|
start(proc() = testExceptions(1, 0.01))
|
|
start(proc() = testExceptions(2, 0.011))
|
|
coro.run()
|
|
doAssert(stackCheckValue == 1100220033, "Thread stack got corrupted")
|
|
doAssert(numbers == @[1, 2, 1, 2, 1, 2, 1, 2, 1, 2], "Coroutines executed in incorrect order")
|