summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2012-12-16 22:58:02 -0800
committerKenneth Graunke <kenneth@whitecape.org>2012-12-16 22:58:02 -0800
commit9ae5537647144f2bd85578eb7a37daf4fc53a31b (patch)
tree4b7a7747ac50f38b4eda681b65b762887c5f3f8d
parent4595dbe2ad44ff9247bedf17e07935403f7bb3e9 (diff)
plumb the rest of the results through to allow detail page generation
plus some detail page stuff because I was too lazy to back it out.
-rw-r--r--framework/database.py6
-rwxr-xr-xprograms/report.py21
2 files changed, 20 insertions, 7 deletions
diff --git a/framework/database.py b/framework/database.py
index de8053c..a7415a7 100644
--- a/framework/database.py
+++ b/framework/database.py
@@ -92,6 +92,6 @@ class ResultDatabase:
def getResults(self, run):
c = self.connection.cursor()
- query = 'SELECT test_name, result FROM results WHERE run_name = ?'
- xs = c.execute(query, [run])
- return dict(xs)
+ query = 'SELECT test_name, result, return_code, errors, output FROM results WHERE run_name = ?'
+ rs = c.execute(query, [run])
+ return dict([(r[0], {'result': r[1], 'return_code': r[2], 'errors': r[3], 'output': r[4]}) for r in rs])
diff --git a/programs/report.py b/programs/report.py
index 57622f9..7cf93df 100755
--- a/programs/report.py
+++ b/programs/report.py
@@ -211,8 +211,8 @@ def buildTable(run_names, results):
# Add the current test
stack[-1].name_html += '<div>' + test + '</div>\n';
for i in range(num_runs):
- passv = toPassVector(results[full_test][i])
- html = testResult(run_names[i], full_test, results[full_test][i])
+ passv = toPassVector(results[full_test][i]['result'])
+ html = testResult(run_names[i], full_test, results[full_test][i]['result'])
stack[-1].results[i].add(passv)
stack[-1].column_html[i] += html
@@ -241,6 +241,14 @@ def writeSummaryHtml(run_names, results, resultsDir, page, filename):
})
#############################################################################
+##### Detail pages
+#############################################################################
+
+def writeDetailPages(run_name, results, i):
+ for test in results.keys():
+ result = results[test][i]
+
+#############################################################################
##### Main program
#############################################################################
@@ -290,11 +298,16 @@ def main(argv, config):
results = getCombinedResults(db, run_names, args.intersect)
- # XXX: write detail pages
+ for i in range(len(run_names)):
+ dirname = path.join(reportDir, escape(run_names[i]))
+ os.mkdir(dirname)
+ # XXX: write system info
+ writeDetailPages(run_names[i], results, i)
+
def writeSummaryPage(page, filename, filterFunc = None):
cut_results = {}
for t in results.keys():
- if filterFunc is None or filterFunc(results[t]):
+ if filterFunc is None or filterFunc([r['result'] for r in results[t]]):
cut_results[t] = results[t]
writeSummaryHtml(run_names, cut_results, reportDir, page, filename)