koch and testament improvement; make testing command easier to get right
This commit is contained in:
parent
ec68d89e42
commit
04cdf99448
3 changed files with 6 additions and 7 deletions
5
koch.nim
5
koch.nim
|
|
@ -412,13 +412,8 @@ template `|`(a, b): string = (if a.len > 0: a else: b)
|
|||
|
||||
proc tests(args: string) =
|
||||
nimexec "cc --opt:speed testament/tester"
|
||||
# Since tests take a long time (on my machine), and we want to defy Murhpys
|
||||
# law - lets make sure the compiler really is freshly compiled!
|
||||
nimexec "c --lib:lib -d:release --opt:speed compiler/nim.nim"
|
||||
let tester = quoteShell(getCurrentDir() / "testament/tester".exe)
|
||||
let success = tryExec tester & " " & (args|"all")
|
||||
if not existsEnv("TRAVIS") and not existsEnv("APPVEYOR"):
|
||||
exec tester & " html"
|
||||
if not success:
|
||||
quit("tests failed", QuitFailure)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
import parseutils, strutils, os, osproc, streams, parsecfg
|
||||
|
||||
var compilerPrefix* = "nim"
|
||||
var compilerPrefix* = findExe("nim")
|
||||
|
||||
let isTravis* = existsEnv("TRAVIS")
|
||||
let isAppVeyor* = existsEnv("APPVEYOR")
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Options:
|
|||
--simulate see what tests would be run but don't run them (for debugging)
|
||||
--failing only show failing/ignored tests
|
||||
--targets:"c c++ js objc" run tests for specified targets (default: all)
|
||||
--nim:path use a particular nim executable (default: compiler/nim)
|
||||
--nim:path use a particular nim executable (default: $$PATH/nim)
|
||||
--directory:dir Change to directory dir before reading the tests or doing anything else.
|
||||
--colors:on|off Turn messagescoloring on|off.
|
||||
--backendLogging:on|off Disable or enable backend logging. By default turned on.
|
||||
|
|
@ -537,6 +537,7 @@ proc main() =
|
|||
var optPrintResults = false
|
||||
var optFailing = false
|
||||
var targetsStr = ""
|
||||
var isMainProcess = true
|
||||
|
||||
var p = initOptParser()
|
||||
p.next()
|
||||
|
|
@ -620,6 +621,7 @@ proc main() =
|
|||
# 'pcat' is used for running a category in parallel. Currently the only
|
||||
# difference is that we don't want to run joinable tests here as they
|
||||
# are covered by the 'megatest' category.
|
||||
isMainProcess = false
|
||||
var cat = Category(p.key)
|
||||
p.next
|
||||
processCategory(r, cat, p.cmdLineRest.string, testsDir, runJoinableTests = false)
|
||||
|
|
@ -644,6 +646,8 @@ proc main() =
|
|||
echo "FAILURE! total: ", r.total, " passed: ", r.passed, " skipped: ",
|
||||
r.skipped, " failed: ", failed
|
||||
quit(QuitFailure)
|
||||
if isMainProcess:
|
||||
echo "Used ", compilerPrefix, " to run the tests. Use --nim to override."
|
||||
|
||||
if paramCount() == 0:
|
||||
quit Usage
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue