mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-16 08:04:20 +00:00
Merge pull request #4800 from Wh1teDuke/FixTesterRunOpt
[Tester] allow running single tests with 'run' option
This commit is contained in:
@@ -382,8 +382,14 @@ proc `&.?`(a, b: string): string =
|
||||
proc `&?.`(a, b: string): string =
|
||||
# candidate for the stdlib?
|
||||
result = if a.endswith(b): a else: a & b
|
||||
|
||||
proc processSingleTest(r: var TResults, cat: Category, options, test: string) =
|
||||
let test = "tests" & DirSep &.? cat.string / test
|
||||
|
||||
proc processCategory(r: var TResults, cat: Category, options: string, fileGlob: string = "t*.nim") =
|
||||
if existsFile(test): testSpec r, makeTest(test, options, cat)
|
||||
else: echo "[Warning] - ", test, " test does not exist"
|
||||
|
||||
proc processCategory(r: var TResults, cat: Category, options: string) =
|
||||
case cat.string.normalize
|
||||
of "rodfiles":
|
||||
when false: compileRodFiles(r, cat, options)
|
||||
@@ -424,5 +430,5 @@ proc processCategory(r: var TResults, cat: Category, options: string, fileGlob:
|
||||
# We can't test it because it depends on a third party.
|
||||
discard # TODO: Move untestable tests to someplace else, i.e. nimble repo.
|
||||
else:
|
||||
for name in os.walkFiles("tests" & DirSep &.? cat.string / fileGlob):
|
||||
for name in os.walkFiles("tests" & DirSep &.? cat.string / "t*.nim"):
|
||||
testSpec r, makeTest(name, options, cat)
|
||||
|
||||
@@ -445,7 +445,7 @@ proc main() =
|
||||
let (dir, file) = splitPath(p.key.string)
|
||||
let (_, subdir) = splitPath(dir)
|
||||
var cat = Category(subdir)
|
||||
processCategory(r, cat, p.cmdLineRest.string, file)
|
||||
processSingleTest(r, cat, p.cmdLineRest.string, file)
|
||||
of "html":
|
||||
var commit = 0
|
||||
discard parseInt(p.cmdLineRest.string, commit)
|
||||
|
||||
Reference in New Issue
Block a user