diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2012-12-16 22:58:02 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2012-12-16 22:58:02 -0800 |
commit | 9ae5537647144f2bd85578eb7a37daf4fc53a31b (patch) | |
tree | 4b7a7747ac50f38b4eda681b65b762887c5f3f8d | |
parent | 4595dbe2ad44ff9247bedf17e07935403f7bb3e9 (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.py | 6 | ||||
-rwxr-xr-x | programs/report.py | 21 |
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) |