made some tests green

This commit is contained in:
Araq 2014-08-31 12:34:35 +02:00
commit ae548a696f
8 changed files with 28 additions and 29 deletions

View file

@ -40,8 +40,8 @@ var
checkpoints = @[]
template TestSetupIMPL*: stmt {.immediate, dirty.} = discard
template TestTeardownIMPL*: stmt {.immediate, dirty.} = discard
template testSetupIMPL*: stmt {.immediate, dirty.} = discard
template testTeardownIMPL*: stmt {.immediate, dirty.} = discard
proc shouldRun(testName: string): bool =
result = true
@ -49,10 +49,10 @@ proc shouldRun(testName: string): bool =
template suite*(name: expr, body: stmt): stmt {.immediate, dirty.} =
block:
template setup*(setupBody: stmt): stmt {.immediate, dirty.} =
template TestSetupIMPL: stmt {.immediate, dirty.} = setupBody
template testSetupIMPL: stmt {.immediate, dirty.} = setupBody
template teardown*(teardownBody: stmt): stmt {.immediate, dirty.} =
template TestTeardownIMPL: stmt {.immediate, dirty.} = teardownBody
template testTeardownIMPL: stmt {.immediate, dirty.} = teardownBody
body
@ -60,10 +60,10 @@ proc testDone(name: string, s: TestStatus) =
if s == FAILED:
programResult += 1
if OutputLevel != PRINT_NONE and (OutputLevel == PRINT_ALL or s == FAILED):
if outputLevel != PRINT_NONE and (outputLevel == PRINT_ALL or s == FAILED):
template rawPrint() = echo("[", $s, "] ", name, "\n")
when not defined(ECMAScript):
if ColorOutput and not defined(ECMAScript):
if colorOutput and not defined(ECMAScript):
var color = (if s == OK: fgGreen else: fgRed)
styledEcho styleBright, color, "[", $s, "] ", fgWhite, name, "\n"
else:
@ -76,10 +76,10 @@ template test*(name: expr, body: stmt): stmt {.immediate, dirty.} =
if shouldRun(name):
checkpoints = @[]
var TestStatusIMPL {.inject.} = OK
var testStatusIMPL {.inject.} = OK
try:
TestSetupIMPL()
testSetupIMPL()
body
except:
@ -87,8 +87,8 @@ template test*(name: expr, body: stmt): stmt {.immediate, dirty.} =
fail()
finally:
TestTeardownIMPL()
testDone name, TestStatusIMPL
testTeardownIMPL()
testDone name, testStatusIMPL
proc checkpoint*(msg: string) =
checkpoints.add(msg)
@ -100,10 +100,10 @@ template fail* =
echo msg
when not defined(ECMAScript):
if AbortOnError: quit(1)
if abortOnError: quit(1)
when declared(TestStatusIMPL):
TestStatusIMPL = FAILED
when declared(testStatusIMPL):
testStatusIMPL = FAILED
else:
programResult += 1