Chromium Code Reviews| Index: tools/code_coverage/croc_html.py |
| =================================================================== |
| --- tools/code_coverage/croc_html.py (revision 144176) |
| +++ tools/code_coverage/croc_html.py (working copy) |
| @@ -194,18 +194,18 @@ |
| """ |
| if caption is not None: |
| - table.E('tr').E('td', e_class='secdesc', colspan=8).Text(caption) |
| + table.E('tr').E('th', e_class='secdesc', colspan=8).Text(caption) |
| sec_hdr = table.E('tr') |
| if itemtype is not None: |
| - sec_hdr.E('td', e_class='section').Text(itemtype) |
| + sec_hdr.E('th', e_class='section').Text(itemtype) |
| - sec_hdr.E('td', e_class='section').Text('Coverage') |
| - sec_hdr.E('td', e_class='section', colspan=3).Text( |
| + sec_hdr.E('th', e_class='section').Text('Coverage') |
| + sec_hdr.E('th', e_class='section', colspan=3).Text( |
| 'Lines executed / instrumented / missing') |
| - graph = sec_hdr.E('td', e_class='section') |
| + graph = sec_hdr.E('th', e_class='section') |
| graph.E('span', style='color:#00FF00').Text('exe') |
| graph.Text(' / ') |
| graph.E('span', style='color:#FFFF00').Text('inst') |
| @@ -213,10 +213,10 @@ |
| graph.E('span', style='color:#FF0000').Text('miss') |
| if is_file: |
| - sec_hdr.E('td', e_class='section').Text('Language') |
| - sec_hdr.E('td', e_class='section').Text('Group') |
| + sec_hdr.E('th', e_class='section').Text('Language') |
| + sec_hdr.E('th', e_class='section').Text('Group') |
| else: |
| - sec_hdr.E('td', e_class='section', colspan=2) |
| + sec_hdr.E('th', e_class='section', colspan=2) |
| def AddItem(self, table, itemname, stats, attrs, link=None): |
| """Adds a bar graph to the element. This is a series of <td> elements. |
| @@ -358,31 +358,41 @@ |
| body = f.body |
| + dirs = [''] + cov_dir.dirpath.split('/') |
| + num_dirs = len(dirs) |
| + sort_jsfile = '../' * (num_dirs - 1) + 'sorttable.js' |
| + script = body.E('script', src=sort_jsfile) |
| + body.E('/script') |
| + |
| # Write header section |
| if cov_dir.dirpath: |
| self.AddCaptionForSubdir(body, cov_dir.dirpath) |
| else: |
| body.E('h2').Text(title) |
| - table = body.E('table') |
| - |
| + table = body.E('table', e_class='sortable') |
| + table.E('h3').Text('Coverage by Group') |
| # Coverage by group |
| - self.AddSectionHeader(table, 'Coverage by Group', 'Group') |
| + self.AddSectionHeader(table, None, 'Group') |
| for group in sorted(cov_dir.stats_by_group): |
| self.AddItem(table, group, cov_dir.stats_by_group[group], None) |
| + table = body.E('table', e_class='sortable') |
| + table.E('h3').Text('Subdirectories') |
| # List subdirs |
| if cov_dir.subdirs: |
| - self.AddSectionHeader(table, 'Subdirectories', 'Subdirectory') |
| + self.AddSectionHeader(table, None, 'Subdirectory') |
| for d in sorted(cov_dir.subdirs): |
| self.AddItem(table, d + '/', cov_dir.subdirs[d].stats_by_group['all'], |
| None, link=d + '/index.html') |
| + table = body.E('table', e_class='sortable') |
| + table.E('h3').Text('Files in This Directory') |
| # List files |
| if cov_dir.files: |
| - self.AddSectionHeader(table, 'Files in This Directory', 'Filename', |
| + self.AddSectionHeader(table, None, 'Filename', |
| is_file=True) |
| for filename in sorted(cov_dir.files): |
| @@ -402,12 +412,23 @@ |
| copy_files = [ |
|
John Grabowski
2012/07/10 17:37:14
since only one file each, can you
copy_files = ['c
pshenoy
2012/07/10 18:02:22
I thought it is a good idea to maintain a separate
John Grabowski
2012/07/10 18:08:19
that's fine but still do this
copy_files = ['croc
pshenoy
2012/07/10 18:22:23
Done.
|
| 'croc.css', |
| ] |
| + # Third_party files to copy into output root |
| + third_party_files = [ |
| + 'sorttable.js', |
| + ] |
| # Copy files from our directory into the output directory |
| for copy_file in copy_files: |
| print ' Copying %s' % copy_file |
| shutil.copyfile(os.path.join(src_dir, copy_file), |
| os.path.join(self.output_root, copy_file)) |
| + # Copy third party files from third_party directory into |
| + # the output directory |
| + src_dir = os.path.join(src_dir, 'third_party') |
| + for third_party_file in third_party_files: |
| + print ' Copying %s' % third_party_file |
| + shutil.copyfile(os.path.join(src_dir, third_party_file), |
| + os.path.join(self.output_root, third_party_file)) |
| def Write(self): |
| """Writes HTML output.""" |