summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/semmacrosanity.nim4
-rw-r--r--lib/impure/db_sqlite.nim2
-rw-r--r--tests/macros/tmacro1.nim (renamed from tests/macro/tmacro1.nim)0
-rw-r--r--tests/macros/tmacro2.nim (renamed from tests/macro/tmacro2.nim)0
-rw-r--r--tests/macros/tmacro3.nim (renamed from tests/macro/tmacro3.nim)0
-rw-r--r--tests/macros/tmacro4.nim (renamed from tests/macro/tmacro4.nim)0
-rw-r--r--tests/macros/tmacro5.nim (renamed from tests/macro/tmacro5.nim)0
-rw-r--r--tests/macros/tmacroaspragma.nim (renamed from tests/macro/tmacroaspragma.nim)0
-rw-r--r--tests/macros/tmacrogenerics.nim (renamed from tests/macro/tmacrogenerics.nim)0
-rw-r--r--tests/macros/tmacros1.nim (renamed from tests/macro/tmacros1.nim)0
-rw-r--r--tests/macros/tmacrostmt.nim (renamed from tests/macro/tmacrostmt.nim)0
-rw-r--r--tests/macros/tmacrotypes.nim (renamed from tests/macro/tmacrotypes.nim)0
-rw-r--r--tests/macros/tnimrodnode_for_runtime.nim (renamed from tests/macro/tnimrodnode_for_runtime.nim)0
-rw-r--r--tests/macros/tprintf.nim (renamed from tests/macro/tprintf.nim)0
-rw-r--r--tests/macros/tquotewords.nim (renamed from tests/macro/tquotewords.nim)0
-rw-r--r--tests/macros/trecmacro.nim (renamed from tests/macro/trecmacro.nim)0
-rw-r--r--tests/macros/tstringinterp.nim (renamed from tests/macro/tstringinterp.nim)0
-rw-r--r--tests/macros/tvtable.nim (renamed from tests/macro/tvtable.nim)0
-rw-r--r--tests/testament/backend.nim6
-rw-r--r--tests/testament/htmlgen.nim50
-rw-r--r--tests/testament/tester.nim8
21 files changed, 39 insertions, 31 deletions
diff --git a/compiler/semmacrosanity.nim b/compiler/semmacrosanity.nim
index eff944bac..1bece95c2 100644
--- a/compiler/semmacrosanity.nim
+++ b/compiler/semmacrosanity.nim
@@ -43,12 +43,12 @@ proc annotateType*(n: PNode, t: PType) =
       n.typ = t
       for i in 0 .. <n.len:
         let field = x.n.ithField(i)
-        if field.isNil: globalError n.info, "invalid " & $i & "th field"
+        if field.isNil: globalError n.info, "invalid field at index " & $i
         else: annotateType(n.sons[i], field.typ)
     elif x.kind == tyTuple:
       n.typ = t
       for i in 0 .. <n.len:
-        if i >= x.len: globalError n.info, "invalid " & $i & "th field"
+        if i >= x.len: globalError n.info, "invalid field at index " & $i
         else: annotateType(n.sons[i], x.sons[i])
     elif x.kind == tyProc and x.callConv == ccClosure:
       n.typ = t
diff --git a/lib/impure/db_sqlite.nim b/lib/impure/db_sqlite.nim
index c27efc358..a3499a6df 100644
--- a/lib/impure/db_sqlite.nim
+++ b/lib/impure/db_sqlite.nim
@@ -76,7 +76,7 @@ proc tryExec*(db: TDbConn, query: TSqlQuery,
 proc exec*(db: TDbConn, query: TSqlQuery, args: varargs[string, `$`])  {.
   tags: [FReadDB, FWriteDb].} =
   ## executes the query and raises EDB if not successful.
-  if not TryExec(db, query, args): dbError(db)
+  if not tryExec(db, query, args): dbError(db)
   
 proc newRow(L: int): TRow =
   newSeq(result, L)
diff --git a/tests/macro/tmacro1.nim b/tests/macros/tmacro1.nim
index 3a67c2611..3a67c2611 100644
--- a/tests/macro/tmacro1.nim
+++ b/tests/macros/tmacro1.nim
diff --git a/tests/macro/tmacro2.nim b/tests/macros/tmacro2.nim
index 8515322d5..8515322d5 100644
--- a/tests/macro/tmacro2.nim
+++ b/tests/macros/tmacro2.nim
diff --git a/tests/macro/tmacro3.nim b/tests/macros/tmacro3.nim
index 162212326..162212326 100644
--- a/tests/macro/tmacro3.nim
+++ b/tests/macros/tmacro3.nim
diff --git a/tests/macro/tmacro4.nim b/tests/macros/tmacro4.nim
index 10a23b159..10a23b159 100644
--- a/tests/macro/tmacro4.nim
+++ b/tests/macros/tmacro4.nim
diff --git a/tests/macro/tmacro5.nim b/tests/macros/tmacro5.nim
index 39324e497..39324e497 100644
--- a/tests/macro/tmacro5.nim
+++ b/tests/macros/tmacro5.nim
diff --git a/tests/macro/tmacroaspragma.nim b/tests/macros/tmacroaspragma.nim
index 0e5c352b3..0e5c352b3 100644
--- a/tests/macro/tmacroaspragma.nim
+++ b/tests/macros/tmacroaspragma.nim
diff --git a/tests/macro/tmacrogenerics.nim b/tests/macros/tmacrogenerics.nim
index 5ae59e0da..5ae59e0da 100644
--- a/tests/macro/tmacrogenerics.nim
+++ b/tests/macros/tmacrogenerics.nim
diff --git a/tests/macro/tmacros1.nim b/tests/macros/tmacros1.nim
index 3c814ad6d..3c814ad6d 100644
--- a/tests/macro/tmacros1.nim
+++ b/tests/macros/tmacros1.nim
diff --git a/tests/macro/tmacrostmt.nim b/tests/macros/tmacrostmt.nim
index d9c70197d..d9c70197d 100644
--- a/tests/macro/tmacrostmt.nim
+++ b/tests/macros/tmacrostmt.nim
diff --git a/tests/macro/tmacrotypes.nim b/tests/macros/tmacrotypes.nim
index 7697dba27..7697dba27 100644
--- a/tests/macro/tmacrotypes.nim
+++ b/tests/macros/tmacrotypes.nim
diff --git a/tests/macro/tnimrodnode_for_runtime.nim b/tests/macros/tnimrodnode_for_runtime.nim
index e73c8430f..e73c8430f 100644
--- a/tests/macro/tnimrodnode_for_runtime.nim
+++ b/tests/macros/tnimrodnode_for_runtime.nim
diff --git a/tests/macro/tprintf.nim b/tests/macros/tprintf.nim
index c8fb51cdc..c8fb51cdc 100644
--- a/tests/macro/tprintf.nim
+++ b/tests/macros/tprintf.nim
diff --git a/tests/macro/tquotewords.nim b/tests/macros/tquotewords.nim
index 76b8d8af7..76b8d8af7 100644
--- a/tests/macro/tquotewords.nim
+++ b/tests/macros/tquotewords.nim
diff --git a/tests/macro/trecmacro.nim b/tests/macros/trecmacro.nim
index 28b6db530..28b6db530 100644
--- a/tests/macro/trecmacro.nim
+++ b/tests/macros/trecmacro.nim
diff --git a/tests/macro/tstringinterp.nim b/tests/macros/tstringinterp.nim
index f030213e0..f030213e0 100644
--- a/tests/macro/tstringinterp.nim
+++ b/tests/macros/tstringinterp.nim
diff --git a/tests/macro/tvtable.nim b/tests/macros/tvtable.nim
index 51894618c..51894618c 100644
--- a/tests/macro/tvtable.nim
+++ b/tests/macros/tvtable.nim
diff --git a/tests/testament/backend.nim b/tests/testament/backend.nim
index 87ac10b1f..bc1f92eba 100644
--- a/tests/testament/backend.nim
+++ b/tests/testament/backend.nim
@@ -49,10 +49,10 @@ proc createDb() =
   #  """, [])
 
 type
-  MachineId* = distinct int64
+  MachineId = distinct int64
   CommitId = distinct int64
 
-proc `$`*(id: MachineId): string {.borrow.}
+proc `$`(id: MachineId): string {.borrow.}
 proc `$`(id: CommitId): string {.borrow.}
 
 var
@@ -61,7 +61,7 @@ var
 
 proc `()`(cmd: string{lit}): string = cmd.execProcess.string.strip
 
-proc getMachine*: MachineId =
+proc getMachine: MachineId =
   var name = "hostname"()
   if name.len == 0:
     name = when defined(posix): getenv"HOSTNAME".string
diff --git a/tests/testament/htmlgen.nim b/tests/testament/htmlgen.nim
index e42b88070..bc2d8bd37 100644
--- a/tests/testament/htmlgen.nim
+++ b/tests/testament/htmlgen.nim
@@ -109,42 +109,46 @@ div.tabContent.hide { display: none; }
 proc td(s: string): string =
   result = "<td>" & s.substr(0, 200).XMLEncode & "</td>"
 
-proc generateHtml*(filename: string) =
+proc getCommit(db: TDbConn, 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]
+    inc commit
+  if result.isNil:
+    quit "cannot determine commit " & $c
+
+proc generateHtml*(filename: string, commit: int) =
   const selRow = """select name, category, target, action, 
                            expected, given, result
-                     from TestResult
-                     where [commit] = ? and machine = ?
-                     order by category"""
+                    from TestResult
+                    where [commit] = ? and machine = ?
+                    order by category"""
   var db = open(connection="testament.db", user="testament", password="",
                 database="testament")
+  # search for proper commit:
+  let lastCommit = db.getCommit(commit)
+
   var outfile = open(filename, fmWrite)
   outfile.write(HtmlBegin)
-  let thisMachine = backend.getMachine()
-  outfile.write()
 
-  let machine = db.getRow(sql"select name, os, cpu from machine where id = ?",
-                           thisMachine)
-  outfile.write("<p><b>$#</b></p>" % machine.join(" "))
+  let commit = db.getValue(sql"select hash from [Commit] where id = ?",
+                            lastCommit)
+  let branch = db.getValue(sql"select branch from [Commit] where id = ?",
+                            lastCommit)
+  outfile.write("<p><b>$# $#</b></p>" % [branch, commit])
 
+  # generate navigation:
   outfile.write("""<ul id="tabs">""")
-  
-  for thisCommit in db.rows(sql"select id from [Commit] order by id desc"):
-    let lastCommit = thisCommit[0]
-    let commit = db.getValue(sql"select hash from [Commit] where id = ?",
-                              lastCommit)
-    let branch = db.getValue(sql"select branch from [Commit] where id = ?",
-                              lastCommit)
-
-    outfile.writeln """<li><a href="#$#">$#: $#</a></li>""" % [
-      lastCommit, branch, commit]
+  for m in db.rows(sql"select id, name, os, cpu from Machine order by id"):
+    outfile.writeln """<li><a href="#$#">$#: $#, $#</a></li>""" % m
   outfile.write("</ul>")
   
-  for thisCommit in db.rows(sql"select id from [Commit] order by id desc"):
-    let lastCommit = thisCommit[0]
-    outfile.write("""<div class="tabContent" id="$#">""" % lastCommit)
+  for currentMachine in db.rows(sql"select id from Machine order by id"):
+    let m = currentMachine[0]
+    outfile.write("""<div class="tabContent" id="$#">""" % m)
 
     outfile.write(TableHeader)
-    for row in db.rows(sql(selRow), lastCommit, thisMachine):
+    for row in db.rows(sql(selRow), lastCommit, m):
       outfile.write("<tr>")
       for x in row:
         outfile.write(x.td)
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index 8abea8224..54a6de2d0 100644
--- a/tests/testament/tester.nim
+++ b/tests/testament/tester.nim
@@ -22,7 +22,9 @@ const
 Command:
   all                         run all tests
   c|category <category>       run all the tests of a certain category
-  html                        generate $1 from the database
+  html [commit]               generate $1 from the database; uses the latest
+                              commit or a specific one (use -1 for the commit
+                              before latest etc)
 Arguments:
   arguments are passed to the compiler
 Options:
@@ -254,7 +256,9 @@ proc main() =
     p.next
     processCategory(r, cat, p.cmdLineRest.string)
   of "html":
-    generateHtml(resultsFile)
+    var commit = 0
+    discard parseInt(p.cmdLineRest.string, commit)
+    generateHtml(resultsFile, commit)
   else:
     quit usage