From cdac77c2b23c771b7a278c0f6430479b6e0a7f91 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Mon, 9 Jan 2012 07:45:19 +0000 Subject: [PATCH] Added test group separators to the html version of performance report. --- modules/ts/misc/summary.py | 12 +++++++++++- modules/ts/misc/table_formatter.py | 16 +++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/modules/ts/misc/summary.py b/modules/ts/misc/summary.py index df7f1d4..dc207f7 100644 --- a/modules/ts/misc/summary.py +++ b/modules/ts/misc/summary.py @@ -124,14 +124,24 @@ if __name__ == "__main__": i += 1 # rows + prevGroupName = None needNewRow = True + lastRow = None for name in sorted(test_cases.iterkeys(), key=alphanum_keyselector): cases = test_cases[name] if needNewRow: - tbl.newRow() + lastRow = tbl.newRow() if not options.showall: needNewRow = False tbl.newCell("name", name) + + groupName = next(c for c in cases if c).shortName() + if groupName != prevGroupName: + prop = lastRow.props.get("cssclass", "") + if "firstingroup" not in prop: + lastRow.props["cssclass"] = prop + " firstingroup" + prevGroupName = groupName + for i in range(setsCount): case = cases[i] if case is None: diff --git a/modules/ts/misc/table_formatter.py b/modules/ts/misc/table_formatter.py index aa3940e..3b66ce7 100644 --- a/modules/ts/misc/table_formatter.py +++ b/modules/ts/misc/table_formatter.py @@ -44,7 +44,8 @@ class table(object): self.rows.append(tblRow(len(self.columns), properties)) else: self.rows[ridx + 1].props = properties - self.ridx += 1 + self.ridx += 1 + return self.rows[self.ridx] def trimLastRow(self): if self.rows: @@ -377,8 +378,12 @@ class table(object): rows = [row for row in self.rows if not self.getValue("header")] for r in range(len(rows)): - row = rows[r] - out.write(" \n") + row = rows[r] + rowattr = "" + cssclass = self.getValue("cssclass", row) + if cssclass: + rowattr += " class=\"%s\"" % cssclass + out.write(" \n" % (rowattr)) i = 0 while i < len(row.cells): column = columns[i] @@ -441,11 +446,12 @@ html, body {font-family: Lucida Console, Courier New, Courier;font-size: 16px;co .tbl{background:none repeat scroll 0 0 #FFFFFF;border-collapse:collapse;font-family:"Lucida Sans Unicode","Lucida Grande",Sans-Serif;font-size:14px;margin:20px;text-align:left;width:480px;margin-left: auto;margin-right: auto;white-space:nowrap;} .tbl span{display:block;white-space:nowrap;} .tbl thead tr:last-child th {padding-bottom:5px;} -.tbl tbody tr:first-child td {border-top:2px solid #6678B1;} +.tbl tbody tr:first-child td {border-top:3px solid #6678B1;} .tbl th{border:none;color:#003399;font-size:16px;font-weight:normal;white-space:nowrap;padding:3px 10px;} .tbl td{border:none;border-bottom:1px solid #CCCCCC;color:#666699;padding:6px 8px;white-space:nowrap;} .tbl tbody tr:hover td{color:#000099;} -.tbl caption{font:italic 16px "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif;padding:0 0 5px;text-align:right;white-space:normal;} +.tbl caption{font:italic 16px "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif;padding:0 0 5px;text-align:right;white-space:normal;} +.firstingroup {border-top:2px solid #6678B1;}