summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorȘtefan Talpalaru <stefantalpalaru@yahoo.com>2018-12-13 21:45:43 +0100
committerȘtefan Talpalaru <stefantalpalaru@yahoo.com>2018-12-13 22:06:03 +0100
commita96928968e751be8066828b6c9b2ce8a993660c5 (patch)
treeb19702b788cc2a73df08c94f987ec689c757f95f
parent5b39c7aca91c1d20eb81425cf8f3854876aed475 (diff)
downloadNim-a96928968e751be8066828b6c9b2ce8a993660c5.tar.gz
testament: individual tests with more than a subdir in their path
e.g.: PATH="./bin:$PATH" ./koch tests r stdlib/nre/captures.nim
-rw-r--r--testament/tester.nim10
1 files changed, 6 insertions, 4 deletions
diff --git a/testament/tester.nim b/testament/tester.nim
index 48e9f1913..a056f36d2 100644
--- a/testament/tester.nim
+++ b/testament/tester.nim
@@ -565,10 +565,12 @@ proc main() =
     p.next
     processCategory(r, cat, p.cmdLineRest.string, testsDir, runJoinableTests = false)
   of "r", "run":
-    let (dir, file) = splitPath(p.key.string)
-    let (_, subdir) = splitPath(dir)
-    var cat = Category(subdir)
-    processSingleTest(r, cat, p.cmdLineRest.string, file)
+    # at least one directory is required in the path, to use as a category name
+    let pathParts = split(p.key.string, {DirSep, AltSep})
+    # "stdlib/nre/captures.nim" -> "stdlib" + "nre/captures.nim"
+    let cat = Category(pathParts[0])
+    let subPath = joinPath(pathParts[1..^1])
+    processSingleTest(r, cat, p.cmdLineRest.string, subPath)
   of "html":
     generateHtml(resultsFile, optFailing)
   else: