summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorestevenson <estevenson@google.com>2015-08-18 10:00:18 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-18 17:01:03 +0000
commit39bc8c2a5c6a7b9b4f97d2b29359e151b9ccf402 (patch)
treef205c958961ad16e543418ed47915e6dee79f15e
parentd5f4dddf8b0c5946d066288a9b0b0e6be949d50d (diff)
downloadchromium_src-39bc8c2a5c6a7b9b4f97d2b29359e151b9ccf402.zip
chromium_src-39bc8c2a5c6a7b9b4f97d2b29359e151b9ccf402.tar.gz
chromium_src-39bc8c2a5c6a7b9b4f97d2b29359e151b9ccf402.tar.bz2
Add fractional line coverage + logging change.
Added fractional line coverage to line by line coverage information so that the fractional line coverage will be available in generated JSON files. Changed logging level of skipped files. BUG= Review URL: https://codereview.chromium.org/1284083004 Cr-Commit-Position: refs/heads/master@{#343944}
-rwxr-xr-xbuild/android/emma_coverage_stats.py7
-rwxr-xr-xbuild/android/emma_coverage_stats_test.py39
2 files changed, 28 insertions, 18 deletions
diff --git a/build/android/emma_coverage_stats.py b/build/android/emma_coverage_stats.py
index d882cea..b6620fe 100755
--- a/build/android/emma_coverage_stats.py
+++ b/build/android/emma_coverage_stats.py
@@ -300,6 +300,7 @@ class _EmmaCoverageStats(object):
'line': line.source,
'coverage': line.covered_status,
'changed': line.lineno in line_numbers,
+ 'fractional_coverage': line.fractional_line_coverage,
}
for line in total_line_coverage
]
@@ -395,8 +396,7 @@ class _EmmaCoverageStats(object):
if os.path.splitext(file_path)[1] == '.java' and os.path.exists(file_path):
return True
else:
- logging.debug(
- 'Skipping file %s, cannot compute code coverage.', file_path)
+ logging.info('Skipping file %s, cannot compute code coverage.', file_path)
return False
@staticmethod
@@ -445,8 +445,7 @@ def GenerateCoverageReport(line_coverage_file, out_file_path, coverage_dir):
coverage_results = {}
if files_for_coverage:
code_coverage = _EmmaCoverageStats(coverage_dir, files_for_coverage.keys())
- coverage_results = code_coverage.GetCoverageDict(
- files_for_coverage)
+ coverage_results = code_coverage.GetCoverageDict(files_for_coverage)
else:
logging.info('No Java files requiring coverage were included in %s.',
line_coverage_file)
diff --git a/build/android/emma_coverage_stats_test.py b/build/android/emma_coverage_stats_test.py
index e4f9506..111f24a 100755
--- a/build/android/emma_coverage_stats_test.py
+++ b/build/android/emma_coverage_stats_test.py
@@ -401,32 +401,38 @@ class _EmmaCoverageStatsTest(unittest.TestCase):
{
'line': line_coverage[0].source,
'coverage': line_coverage[0].covered_status,
- 'changed': True
+ 'changed': True,
+ 'fractional_coverage': line_coverage[0].fractional_line_coverage,
},
{
'line': line_coverage[1].source,
'coverage': line_coverage[1].covered_status,
- 'changed': False
+ 'changed': False,
+ 'fractional_coverage': line_coverage[1].fractional_line_coverage,
},
{
'line': line_coverage[2].source,
'coverage': line_coverage[2].covered_status,
- 'changed': True
+ 'changed': True,
+ 'fractional_coverage': line_coverage[2].fractional_line_coverage,
},
{
'line': line_coverage[3].source,
'coverage': line_coverage[3].covered_status,
- 'changed': False
+ 'changed': False,
+ 'fractional_coverage': line_coverage[3].fractional_line_coverage,
},
{
'line': line_coverage[4].source,
'coverage': line_coverage[4].covered_status,
- 'changed': True
+ 'changed': True,
+ 'fractional_coverage': line_coverage[4].fractional_line_coverage,
},
{
'line': line_coverage[5].source,
'coverage': line_coverage[5].covered_status,
- 'changed': True
+ 'changed': True,
+ 'fractional_coverage': line_coverage[5].fractional_line_coverage,
}
]
}
@@ -482,22 +488,27 @@ class _EmmaCoverageStatsTest(unittest.TestCase):
'/path/2/File2.java': {
'absolute': {'covered': 1, 'total': 2},
'incremental': {'covered': 1, 'total': 2},
- 'source': [{'changed': True, 'coverage': 0, 'line': ''},
- {'changed': True, 'coverage': 1, 'line': ''}]
+ 'source': [{'changed': True, 'coverage': 0,
+ 'line': '', 'fractional_coverage': 1.0},
+ {'changed': True, 'coverage': 1,
+ 'line': '', 'fractional_coverage': 1.0}]
},
'/path/to/1/File1.java': {
'absolute': {'covered': 2.5, 'total': 3},
'incremental': {'covered': 2, 'total': 2},
- 'source': [{'changed': True, 'coverage': 1, 'line': ''},
- {'changed': False, 'coverage': 2, 'line': ''},
- {'changed': True, 'coverage': -1, 'line': ''},
- {'changed': True, 'coverage': 1, 'line': ''}]
+ 'source': [{'changed': True, 'coverage': 1,
+ 'line': '', 'fractional_coverage': 1.0},
+ {'changed': False, 'coverage': 2,
+ 'line': '', 'fractional_coverage': 0.5},
+ {'changed': True, 'coverage': -1,
+ 'line': '', 'fractional_coverage': 1.0},
+ {'changed': True, 'coverage': 1,
+ 'line': '', 'fractional_coverage': 1.0}]
}
},
'patch': {'incremental': {'covered': 3, 'total': 4}}
}
- # Return the relevant coverage info for each file. We aren't testing
- # _GetCoverageStatusForFile here.
+ # Return the relevant coverage info for each file.
self.simple_coverage._emma_parser.GetLineCoverage = (
lambda x: coverage_info[x])
result_dict = self.simple_coverage.GetCoverageDict(files_for_coverage)