| 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):
|
| @@ -399,15 +409,22 @@
|
| src_dir = os.path.split(self.WriteRoot.func_code.co_filename)[0]
|
|
|
| # Files to copy into output root
|
| - copy_files = [
|
| - 'croc.css',
|
| - ]
|
| + copy_files = ['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."""
|
|
|