Extract runnables that specify doccmd (#19275) [backport:1.6]
This commit is contained in:
parent
ea475a4e98
commit
4da7dbffc5
2 changed files with 22 additions and 2 deletions
|
|
@ -1715,8 +1715,8 @@ proc extractDocCommentsAndRunnables*(n: NimNode): NimNode =
|
|||
case ni.kind
|
||||
of nnkCommentStmt:
|
||||
result.add ni
|
||||
of nnkCall:
|
||||
if ni[0].kind == nnkIdent and ni[0].strVal == "runnableExamples":
|
||||
of nnkCall, nnkCommand:
|
||||
if ni[0].kind == nnkIdent and ni[0].eqIdent "runnableExamples":
|
||||
result.add ni
|
||||
else: break
|
||||
else: break
|
||||
|
|
|
|||
|
|
@ -124,3 +124,23 @@ block: # SameType
|
|||
assert not testTensorInt(x1)
|
||||
assert testTensorInt(x2)
|
||||
assert not testTensorInt(x3)
|
||||
|
||||
block: # extractDocCommentsAndRunnables
|
||||
macro checkRunnables(prc: untyped) =
|
||||
let runnables = prc.body.extractDocCommentsAndRunnables()
|
||||
doAssert runnables[0][0].eqIdent("runnableExamples")
|
||||
|
||||
macro checkComments(comment: static[string], prc: untyped) =
|
||||
let comments = prc.body.extractDocCommentsAndRunnables()
|
||||
doAssert comments[0].strVal == comment
|
||||
|
||||
proc a() {.checkRunnables.} =
|
||||
runnableExamples: discard
|
||||
discard
|
||||
|
||||
proc b() {.checkRunnables.} =
|
||||
runnableExamples "-d:ssl": discard
|
||||
discard
|
||||
|
||||
proc c() {.checkComments("Hello world").} =
|
||||
## Hello world
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue