summary refs log tree commit diff stats
path: root/tests/testament/tester.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2017-10-25 17:36:50 +0200
committerAraq <rumpf_a@web.de>2017-10-25 17:37:03 +0200
commitfa02ffaeba219ca3f259667d5161d30e47bb13e0 (patch)
treef2fba64a63046efff43ef11be6e8e3788cb42439 /tests/testament/tester.nim
parenta5f1abc5ca52f5842a7583036d28cc8b251b63ad (diff)
downloadNim-fa02ffaeba219ca3f259667d5161d30e47bb13e0.tar.gz
made 'testament all' run in parallel
Diffstat (limited to 'tests/testament/tester.nim')
-rw-r--r--tests/testament/tester.nim10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index a8719c1b2..dd5e70d50 100644
--- a/tests/testament/tester.nim
+++ b/tests/testament/tester.nim
@@ -459,13 +459,17 @@ proc main() =
   case action
   of "all":
     let testsDir = "tests" & DirSep
+    let myself = quoteShell(findExe("tests" / "testament" / "tester"))
+    var cmds: seq[string] = @[]
+    let rest = if p.cmdLineRest.string.len > 0: " " & p.cmdLineRest.string else: ""
     for kind, dir in walkDir(testsDir):
       assert testsDir.startsWith(testsDir)
       let cat = dir[testsDir.len .. ^1]
       if kind == pcDir and cat notin ["testament", "testdata", "nimcache"]:
-        processCategory(r, Category(cat), p.cmdLineRest.string)
-    for a in AdditionalCategories:
-      processCategory(r, Category(a), p.cmdLineRest.string)
+        cmds.add(myself & " cat " & cat & rest)
+    for cat in AdditionalCategories:
+      cmds.add(myself & " cat " & cat & rest)
+    quit osproc.execProcesses(cmds, {poEchoCmd, poStdErrToStdOut, poUsePath, poParentStreams})
   of "c", "cat", "category":
     var cat = Category(p.key)
     p.next