summary refs log tree commit diff stats
path: root/tests/testament
diff options
context:
space:
mode:
authorAman Gupta <aman@tmm1.net>2015-09-30 12:09:58 -0700
committerAman Gupta <aman@tmm1.net>2015-09-30 12:09:58 -0700
commit435fbbc943fb0d932e4d2750a3e8e76a102c8d00 (patch)
tree8bd4cfdda74b4fca4e4395cfb6ce9e5288243798 /tests/testament
parent55bc5d15c75d5773b11b604e5ac197389a26f3f4 (diff)
downloadNim-435fbbc943fb0d932e4d2750a3e8e76a102c8d00.tar.gz
allow testament/tester to run single file
Diffstat (limited to 'tests/testament')
-rw-r--r--tests/testament/categories.nim4
-rw-r--r--tests/testament/tester.nim6
2 files changed, 8 insertions, 2 deletions
diff --git a/tests/testament/categories.nim b/tests/testament/categories.nim
index 4de1edeee..afc4a616f 100644
--- a/tests/testament/categories.nim
+++ b/tests/testament/categories.nim
@@ -339,7 +339,7 @@ proc `&?.`(a, b: string): string =
   # candidate for the stdlib?
   result = if a.endswith(b): a else: a & b
 
-proc processCategory(r: var TResults, cat: Category, options: string) =
+proc processCategory(r: var TResults, cat: Category, options: string, fileGlob: string = "t*.nim") =
   case cat.string.normalize
   of "rodfiles":
     discard # Disabled for now
@@ -376,5 +376,5 @@ proc processCategory(r: var TResults, cat: Category, options: string) =
   of "nimble-all":
     testNimblePackages(r, cat, pfAll)
   else:
-    for name in os.walkFiles("tests" & DirSep &.? cat.string / "t*.nim"):
+    for name in os.walkFiles("tests" & DirSep &.? cat.string / fileGlob):
       testSpec r, makeTest(name, options, cat)
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index b138c9909..3961f15c4 100644
--- a/tests/testament/tester.nim
+++ b/tests/testament/tester.nim
@@ -23,6 +23,7 @@ const
 Command:
   all                         run all tests
   c|category <category>       run all the tests of a certain category
+  r|run <test>                run single test file
   html [commit]               generate $1 from the database; uses the latest
                               commit or a specific one (use -1 for the commit
                               before latest etc)
@@ -376,6 +377,11 @@ proc main() =
     var cat = Category(p.key)
     p.next
     processCategory(r, cat, p.cmdLineRest.string)
+  of "r", "run":
+    let (dir, file) = splitPath(p.key.string)
+    let (_, subdir) = splitPath(dir)
+    var cat = Category(subdir)
+    processCategory(r, cat, p.cmdLineRest.string, file)
   of "html":
     var commit = 0
     discard parseInt(p.cmdLineRest.string, commit)