mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
koch and testament improvement; make testing command easier to get right
This commit is contained in:
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
|
||||
|
||||
Reference in New Issue
Block a user