Merge remote-tracking branch 'origin/devel' into appveyor
This commit is contained in:
commit
e2dbf222e6
59 changed files with 1127 additions and 324 deletions
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
import strutils, db_sqlite, os, osproc
|
||||
|
||||
var db: TDbConn
|
||||
var db: DbConn
|
||||
|
||||
proc createDb() =
|
||||
db.exec(sql"""
|
||||
|
|
@ -61,7 +61,7 @@ var
|
|||
|
||||
proc `()`(cmd: string{lit}): string = cmd.execProcess.string.strip
|
||||
|
||||
proc getMachine*(db: TDbConn): MachineId =
|
||||
proc getMachine*(db: DbConn): MachineId =
|
||||
var name = "hostname"()
|
||||
if name.len == 0:
|
||||
name = when defined(posix): getenv"HOSTNAME".string
|
||||
|
|
@ -76,7 +76,7 @@ proc getMachine*(db: TDbConn): MachineId =
|
|||
result = db.insertId(sql"insert into Machine(name, os, cpu) values (?,?,?)",
|
||||
name, system.hostOS, system.hostCPU).MachineId
|
||||
|
||||
proc getCommit(db: TDbConn): CommitId =
|
||||
proc getCommit(db: DbConn): CommitId =
|
||||
const commLen = "commit ".len
|
||||
let hash = "git log -n 1"()[commLen..commLen+10]
|
||||
let branch = "git symbolic-ref --short HEAD"()
|
||||
|
|
|
|||
|
|
@ -119,12 +119,21 @@ proc gcTests(r: var TResults, cat: Category, options: string) =
|
|||
testSpec r, makeTest("tests/gc" / filename, options &
|
||||
" -d:release -d:useRealtimeGC", cat, actionRun)
|
||||
|
||||
template test(filename: expr): stmt =
|
||||
template testWithoutBoehm(filename: expr): stmt =
|
||||
testWithoutMs filename
|
||||
testSpec r, makeTest("tests/gc" / filename, options &
|
||||
" --gc:markAndSweep", cat, actionRun)
|
||||
testSpec r, makeTest("tests/gc" / filename, options &
|
||||
" -d:release --gc:markAndSweep", cat, actionRun)
|
||||
template test(filename: expr): stmt =
|
||||
testWithoutBoehm filename
|
||||
when not defined(windows):
|
||||
# AR: cannot find any boehm.dll on the net, right now, so disabled
|
||||
# for windows:
|
||||
testSpec r, makeTest("tests/gc" / filename, options &
|
||||
" --gc:boehm", cat, actionRun)
|
||||
testSpec r, makeTest("tests/gc" / filename, options &
|
||||
" -d:release --gc:boehm", cat, actionRun)
|
||||
|
||||
test "gcemscripten"
|
||||
test "growobjcrash"
|
||||
|
|
@ -136,9 +145,9 @@ proc gcTests(r: var TResults, cat: Category, options: string) =
|
|||
test "gcleak4"
|
||||
# Disabled because it works and takes too long to run:
|
||||
#test "gcleak5"
|
||||
test "weakrefs"
|
||||
testWithoutBoehm "weakrefs"
|
||||
test "cycleleak"
|
||||
test "closureleak"
|
||||
testWithoutBoehm "closureleak"
|
||||
testWithoutMs "refarrayleak"
|
||||
|
||||
test "stackrefleak"
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ div.tabContent.hide { display: none; }
|
|||
proc td(s: string): string =
|
||||
result = "<td>" & s.substr(0, 200).xmlEncode & "</td>"
|
||||
|
||||
proc getCommit(db: TDbConn, c: int): string =
|
||||
proc getCommit(db: DbConn, c: int): string =
|
||||
var commit = c
|
||||
for thisCommit in db.rows(sql"select id from [Commit] order by id desc"):
|
||||
if commit == 0: result = thisCommit[0]
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ proc callCompiler(cmdTemplate, filename, options: string,
|
|||
let c = parseCmdLine(cmdTemplate % ["target", targetToCmd[target],
|
||||
"options", options, "file", filename.quoteShell])
|
||||
var p = startProcess(command=c[0], args=c[1.. ^1],
|
||||
options={poStdErrToStdOut, poUseShell})
|
||||
options={poStdErrToStdOut, poUsePath})
|
||||
let outp = p.outputStream
|
||||
var suc = ""
|
||||
var err = ""
|
||||
|
|
@ -215,7 +215,7 @@ proc generatedFile(path, name: string, target: TTarget): string =
|
|||
|
||||
proc codegenCheck(test: TTest, check: string, given: var TSpec) =
|
||||
try:
|
||||
let (path, name, ext2) = test.name.splitFile
|
||||
let (path, name, _) = test.name.splitFile
|
||||
let genFile = generatedFile(path, name, test.target)
|
||||
let contents = readFile(genFile).string
|
||||
if check[0] == '\\':
|
||||
|
|
@ -307,7 +307,7 @@ proc testSpec(r: var TResults, test: TTest) =
|
|||
let isJsTarget = test.target == targetJS
|
||||
var exeFile: string
|
||||
if isJsTarget:
|
||||
let (dir, file, ext) = splitFile(tname)
|
||||
let (dir, file, _) = splitFile(tname)
|
||||
exeFile = dir / "nimcache" / file & ".js" # *TODO* hardcoded "nimcache"
|
||||
else:
|
||||
exeFile = changeFileExt(tname, ExeExt)
|
||||
|
|
@ -352,7 +352,7 @@ proc testSpec(r: var TResults, test: TTest) =
|
|||
|
||||
proc testNoSpec(r: var TResults, test: TTest) =
|
||||
# does not extract the spec because the file is not supposed to have any
|
||||
let tname = test.name.addFileExt(".nim")
|
||||
#let tname = test.name.addFileExt(".nim")
|
||||
inc(r.total)
|
||||
let given = callCompiler(cmdTemplate, test.name, test.options, test.target)
|
||||
r.addResult(test, "", given.msg, given.err)
|
||||
|
|
@ -368,7 +368,7 @@ proc testC(r: var TResults, test: TTest) =
|
|||
r.addResult(test, "", given.msg, given.err)
|
||||
elif test.action == actionRun:
|
||||
let exeFile = changeFileExt(test.name, ExeExt)
|
||||
var (buf, exitCode) = execCmdEx(exeFile, options = {poStdErrToStdOut, poUseShell})
|
||||
var (_, exitCode) = execCmdEx(exeFile, options = {poStdErrToStdOut, poUsePath})
|
||||
if exitCode != 0: given.err = reExitCodesDiffer
|
||||
if given.err == reSuccess: inc(r.passed)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue