Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(768)

Unified Diff: build/android/emma_coverage_stats_test.py

Issue 1299693003: Handle missing EMMA files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed jbudorick comment. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/emma_coverage_stats.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/emma_coverage_stats_test.py
diff --git a/build/android/emma_coverage_stats_test.py b/build/android/emma_coverage_stats_test.py
index d12c3252dae416cdc04ff66f193c83961a5fbf88..e4f95069544dced5e44d4150721493a9576a3cd4 100755
--- a/build/android/emma_coverage_stats_test.py
+++ b/build/android/emma_coverage_stats_test.py
@@ -3,7 +3,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import json
import os
import sys
import unittest
@@ -233,11 +232,6 @@ class _EmmaHtmlParserTest(unittest.TestCase):
return_dict = self.parser.GetPackageNameToEmmaFileDict()
self.assertDictEqual({}, return_dict)
- def testGetPackageNameToEmmaFileDict_badFilePath(self):
- self.parser._FindElements = mock.Mock(return_value=[])
- return_dict = self.parser.GetPackageNameToEmmaFileDict()
- self.assertEqual(return_dict, {})
-
def testGetLineCoverage_status_basic(self):
line_coverage = self.GetLineCoverageWithFakeElements([self.covered_tr_html])
self.assertEqual(line_coverage[0].covered_status,
@@ -281,11 +275,7 @@ class _EmmaHtmlParserTest(unittest.TestCase):
self.assertEqual(len(line_coverage), 3)
def GetLineCoverageWithFakeElements(self, html_elements):
- """Wraps GetLineCoverage to work with extra whitespace characters.
-
- The test HTML strings include extra whitespace characters to make the HTML
- human readable. This isn't the case with EMMA HTML files, so we need to
- remove all the unnecessary whitespace.
+ """Wraps GetLineCoverage so mock HTML can easily be used.
Args:
html_elements: List of strings each representing an HTML element.
@@ -393,27 +383,10 @@ class _EmmaCoverageStatsTest(unittest.TestCase):
package_names.keys())
self.assertDictEqual(result_dict, self.good_source_to_emma)
- def testGetLineCoverageForFile_basic(self):
- java_file_path = '/path/to/1/File1.java'
- line_coverage = emma_coverage_stats.LineCoverage(
- 1, '', emma_coverage_stats.COVERED, 1.0)
- expected_line_coverage = list(line_coverage)
- coverage_stats = self.simple_coverage
- coverage_stats._source_to_emma = self.good_source_to_emma
- coverage_stats._emma_parser.GetLineCoverage = mock.MagicMock(
- return_value=expected_line_coverage)
- coverage_info = coverage_stats._GetLineCoverageForFile(java_file_path)
- self.assertListEqual(coverage_info, expected_line_coverage)
-
- def testGetLineCoverageForFile_noInfo(self):
- with mock.patch('os.path.exists', return_value=False):
- coverage_info = self.simple_coverage._GetLineCoverageForFile('fake_path')
- self.assertIsNone(coverage_info)
-
def testGetCoverageDictForFile(self):
line_coverage = self.line_coverage
- self.simple_coverage._GetLineCoverageForFile = mock.Mock(
- return_value=line_coverage)
+ self.simple_coverage._emma_parser.GetLineCoverage = lambda x: line_coverage
+ self.simple_coverage._source_to_emma = {'/fake/src': 'fake/emma'}
lines = self.lines_for_coverage
expected_dict = {
'absolute': {
@@ -458,26 +431,36 @@ class _EmmaCoverageStatsTest(unittest.TestCase):
]
}
result_dict = self.simple_coverage.GetCoverageDictForFile(
- line_coverage, lines)
+ '/fake/src', lines)
self.assertDictEqual(result_dict, expected_dict)
def testGetCoverageDictForFile_emptyCoverage(self):
expected_dict = {
- 'absolute': {'covered': 0, 'total': 0},
- 'incremental': {'covered': 0, 'total': 0},
- 'source': []
+ 'absolute': {'covered': 0, 'total': 0},
+ 'incremental': {'covered': 0, 'total': 0},
+ 'source': []
}
- self.simple_coverage._GetLineCoverageForFile = mock.Mock(return_value=[])
+ self.simple_coverage._emma_parser.GetLineCoverage = lambda x: []
+ self.simple_coverage._source_to_emma = {'fake_dir': 'fake/emma'}
result_dict = self.simple_coverage.GetCoverageDictForFile('fake_dir', {})
self.assertDictEqual(result_dict, expected_dict)
- def testGetCoverageDictFor_basic(self):
+ def testGetCoverageDictForFile_missingCoverage(self):
+ self.simple_coverage._source_to_emma = {}
+ result_dict = self.simple_coverage.GetCoverageDictForFile('fake_file', {})
+ self.assertIsNone(result_dict)
+
+ def testGetCoverageDict_basic(self):
files_for_coverage = {
'/path/to/1/File1.java': [1, 3, 4],
'/path/2/File2.java': [1, 2]
}
+ self.simple_coverage._source_to_emma = {
+ '/path/to/1/File1.java': 'emma_1',
+ '/path/2/File2.java': 'emma_2'
+ }
coverage_info = {
- '/path/to/1/File1.java': [
+ 'emma_1': [
emma_coverage_stats.LineCoverage(
1, '', emma_coverage_stats.COVERED, 1.0),
emma_coverage_stats.LineCoverage(
@@ -487,7 +470,7 @@ class _EmmaCoverageStatsTest(unittest.TestCase):
emma_coverage_stats.LineCoverage(
4, '', emma_coverage_stats.COVERED, 1.0)
],
- '/path/2/File2.java': [
+ 'emma_2': [
emma_coverage_stats.LineCoverage(
1, '', emma_coverage_stats.NOT_COVERED, 1.0),
emma_coverage_stats.LineCoverage(
@@ -515,9 +498,9 @@ class _EmmaCoverageStatsTest(unittest.TestCase):
}
# Return the relevant coverage info for each file. We aren't testing
# _GetCoverageStatusForFile here.
- self.simple_coverage._GetLineCoverageForFile = lambda x: coverage_info[x]
- result_dict = self.simple_coverage.GetCoverageDict(
- files_for_coverage)
+ self.simple_coverage._emma_parser.GetLineCoverage = (
+ lambda x: coverage_info[x])
+ result_dict = self.simple_coverage.GetCoverageDict(files_for_coverage)
self.assertDictEqual(result_dict, expected_dict)
def testGetCoverageDict_noCoverage(self):
« no previous file with comments | « build/android/emma_coverage_stats.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698