nim-stint/tests/test_helpers.nim

20 lines
496 B
Nim
Raw Normal View History

2019-10-23 09:20:06 +07:00
# this is some template to help mimicking unittest at compile time
# perhaps we can implement a real compile time unittest?
template ctCheck*(cond: untyped) =
doAssert(cond)
template ctTest*(name: string, body: untyped) =
2023-06-13 19:03:43 +07:00
block:
body
echo "[OK] compile time ", name
2023-06-14 22:26:44 +07:00
template ctExpect*(errTypes, body: untyped) =
try:
body
except errTypes:
discard
except CatchableError:
doAssert(false, "unexpected error")
except Defect:
doAssert(false, "unexpected defect")