mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-18 21:40:32 +00:00
Make use of used in unittest (#5410)
This commit is contained in:
committed by
Andreas Rumpf
parent
16aafddee5
commit
f250c30b9d
@@ -95,7 +95,7 @@ proc shouldRun(testName: string): bool =
|
||||
result = true
|
||||
|
||||
proc startSuite(name: string) =
|
||||
template rawPrint() = echo("\n[Suite] ", name)
|
||||
template rawPrint() = echo("\n[Suite] ", name)
|
||||
when not defined(ECMAScript):
|
||||
if colorOutput:
|
||||
styledEcho styleBright, fgBlue, "\n[Suite] ", resetStyle, name
|
||||
@@ -134,15 +134,15 @@ template suite*(name, body) {.dirty.} =
|
||||
## [OK] (2 + -2) != 4
|
||||
block:
|
||||
bind startSuite
|
||||
template setup(setupBody: untyped) {.dirty.} =
|
||||
var testSetupIMPLFlag = true
|
||||
template setup(setupBody: untyped) {.dirty, used.} =
|
||||
var testSetupIMPLFlag {.used.} = true
|
||||
template testSetupIMPL: untyped {.dirty.} = setupBody
|
||||
|
||||
template teardown(teardownBody: untyped) {.dirty.} =
|
||||
var testTeardownIMPLFlag = true
|
||||
template teardown(teardownBody: untyped) {.dirty, used.} =
|
||||
var testTeardownIMPLFlag {.used.} = true
|
||||
template testTeardownIMPL: untyped {.dirty.} = teardownBody
|
||||
|
||||
let testInSuiteImplFlag = true
|
||||
let testInSuiteImplFlag {.used.} = true
|
||||
startSuite name
|
||||
body
|
||||
|
||||
|
||||
@@ -1,13 +1,35 @@
|
||||
discard """
|
||||
output: '''8'''
|
||||
nimout: '''
|
||||
compile start
|
||||
tused.nim(15, 8) Hint: 'tused.echoSub(a: int, b: int)' is declared but not used [XDeclaredButNotUsed]
|
||||
compile end'''
|
||||
output: "8\n8"
|
||||
"""
|
||||
|
||||
template implementArithOps(T) =
|
||||
static:
|
||||
echo "compile start"
|
||||
|
||||
template implementArithOpsOld(T) =
|
||||
proc echoAdd(a, b: T) =
|
||||
echo a + b
|
||||
proc echoSub(a, b: T) =
|
||||
echo a - b
|
||||
|
||||
template implementArithOpsNew(T) =
|
||||
proc echoAdd(a, b: T) {.used.} =
|
||||
echo a + b
|
||||
proc echoSub(a, b: T) {.used.} =
|
||||
echo a - b
|
||||
|
||||
# no warning produced for the unused 'echoSub'
|
||||
implementArithOps(int)
|
||||
echoAdd 3, 5
|
||||
block:
|
||||
# should produce warning for the unused 'echoSub'
|
||||
implementArithOpsOld(int)
|
||||
echoAdd 3, 5
|
||||
|
||||
block:
|
||||
# no warning produced for the unused 'echoSub'
|
||||
implementArithOpsNew(int)
|
||||
echoAdd 3, 5
|
||||
|
||||
static:
|
||||
echo "compile end"
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
discard """
|
||||
nimout: "compile start\ncompile end"
|
||||
"""
|
||||
|
||||
import unittest, sequtils
|
||||
|
||||
static:
|
||||
echo "compile start"
|
||||
|
||||
proc doThings(spuds: var int): int =
|
||||
spuds = 24
|
||||
@@ -10,9 +16,9 @@ test "#964":
|
||||
check spuds == 24
|
||||
|
||||
|
||||
from strutils import toUpper
|
||||
from strutils import toUpperAscii
|
||||
test "#1384":
|
||||
check(@["hello", "world"].map(toUpper) == @["HELLO", "WORLD"])
|
||||
check(@["hello", "world"].map(toUpperAscii) == @["HELLO", "WORLD"])
|
||||
|
||||
|
||||
import options
|
||||
@@ -57,7 +63,7 @@ suite "suite with only teardown":
|
||||
|
||||
suite "suite with only setup":
|
||||
setup:
|
||||
var testVar = "from setup"
|
||||
var testVar {.used.} = "from setup"
|
||||
|
||||
test "unittest with only setup 1":
|
||||
check testVar == "from setup"
|
||||
@@ -89,3 +95,6 @@ suite "bug #4494":
|
||||
var tags = @[1, 2, 3, 4, 5]
|
||||
check:
|
||||
allIt(0..3, tags[it] != tags[it + 1])
|
||||
|
||||
static:
|
||||
echo "compile end"
|
||||
|
||||
Reference in New Issue
Block a user