Lines Matching full:self
57 def __init__(self, adb_interface):
58 self._root_path = android_build.GetTop()
59 self._output_root_path = os.path.join(self._root_path,
60 self._COVERAGE_REPORT_PATH)
61 self._emma_jar_path = os.path.join(self._root_path, self._EMMA_JAR)
62 self._adb = adb_interface
63 self._targets_manifest = self._ReadTargets()
65 def TestDeviceCoverageSupport(self):
75 output = self._adb.SendShellCommand("cat init.rc | grep BOOTCLASSPATH | "
87 def ExtractReport(self, test_suite,
109 output_path = os.path.join(self._root_path,
110 self._COVERAGE_REPORT_PATH,
115 self._TEST_COVERAGE_EXT)
118 if self._adb.Pull(device_coverage_path, coverage_local_path):
122 target = self._targets_manifest.GetTarget(test_suite.GetTargetName())
126 msg.append(" Ensure target is defined in %s" % self._TARGET_DEF_FILE)
129 return self._GenerateReport(report_path, coverage_local_path, [target],
133 def _GenerateReport(self, report_path, coverage_file_path, targets,
148 input_metadatas = self._GatherMetadatas(targets)
151 src_arg = self._GatherSrcs(targets)
157 (self._emma_jar_path, coverage_file_path, input_metadatas, src_arg))
159 self._RunCmd(cmd1 + cmd2)
162 def _GatherMetadatas(self, targets):
173 input_metadata = os.path.join(self._GetBuildIntermediatePath(target),
178 def _GetBuildIntermediatePath(self, target):
180 self._root_path, self._TARGET_INTERMEDIATES_BASE_PATH, target.GetType(),
183 def _GatherSrcs(self, targets):
195 src_list.append("-sp %s" % os.path.join(self._root_path, path))
198 def _MergeFiles(self, input_paths, dest_path):
209 self._RunCmd("java -cp %s emma merge %s -out %s" % (self._emma_jar_path,
212 def _RunCmd(self, cmd):
216 def _CombineTargetCoverage(self):
220 self._output_root_path, and combine them into a single coverage report.
221 Generated report is placed at self._output_root_path/android.html
223 coverage_files = self._FindCoverageFiles(self._output_root_path)
224 combined_coverage = os.path.join(self._output_root_path,
225 "android.%s" % self._TEST_COVERAGE_EXT)
226 self._MergeFiles(coverage_files, combined_coverage)
227 report_path = os.path.join(self._output_root_path, "android")
229 self._GenerateReport(report_path, combined_coverage,
230 self._targets_manifest.GetTargets(), do_src=False)
232 def _CombineTestCoverage(self):
234 target_dirs = os.listdir(self._output_root_path)
236 output_path = os.path.join(self._output_root_path, target_name)
237 target = self._targets_manifest.GetTarget(target_name)
239 coverage_files = self._FindCoverageFiles(output_path)
241 (target_name, self._TEST_COVERAGE_EXT))
242 self._MergeFiles(coverage_files, combined_coverage)
244 self._GenerateReport(report_path, combined_coverage, [target])
248 def _FindCoverageFiles(self, root_path):
257 self._TEST_COVERAGE_EXT)
261 def _ReadTargets(self):
269 core_target_path = os.path.join(self._root_path, self._CORE_TARGET_PATH)
273 vendor_targets_pattern = os.path.join(self._root_path,
274 self._VENDOR_TARGET_PATH)
282 def TidyOutput(self):
289 self._TidyDir(self._output_root_path)
291 def _TidyDir(self, dir_path):
301 self._TidyDir(sub_dir_path)
303 def CombineCoverage(self):
305 self._CombineTestCoverage()
306 self._CombineTargetCoverage()