Store coverage.info file in separate folders based on commandline parameters to coverage_posix.py.
This CL is dependent on changes in http://codereview.chromium.org/11273046
Review URL: https://chromiumcodereview.appspot.com/11274053
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6f7b3a0908657e75e91d9a9199af5d9b6697043d
diff --git a/coverage_posix.py b/coverage_posix.py
index 420b0a7..c96f391 100755
--- a/coverage_posix.py
+++ b/coverage_posix.py
@@ -762,6 +762,12 @@
'--directory', self.directory_parent,
'--zerocounters'])
shutil.rmtree(os.path.join(self.directory, 'coverage'))
+ if self.options.all_unittests:
+ if os.path.exists(os.path.join(self.directory, 'unittests_coverage')):
+ shutil.rmtree(os.path.join(self.directory, 'unittests_coverage'))
+ else:
+ if os.path.exists(os.path.join(self.directory, 'total_coverage')):
+ shutil.rmtree(os.path.join(self.directory, 'total_coverage'))
def BeforeRunOneTest(self, testname):
"""Do things before running each test."""
@@ -948,6 +954,12 @@
del os.environ['DISPLAY']
self.xvfb_pid = 0
+ def CopyCoverageFileToDestination(self, coverage_folder):
+ coverage_dir = os.path.join(self.directory, coverage_folder)
+ if not os.path.exists(coverage_dir):
+ os.makedirs(coverage_dir)
+ shutil.copyfile(self.coverage_info_file, os.path.join(coverage_dir,
+ 'coverage.info'))
def GenerateLcovPosix(self):
"""Convert profile data to lcov on Mac or Linux."""
@@ -991,6 +1003,14 @@
sys.exit(retcode)
if self.IsLinux():
os.chdir(start_dir)
+
+ # Copy the unittests coverage information to a different folder.
+ if self.options.all_unittests:
+ self.CopyCoverageFileToDestination('unittests_coverage')
+ else:
+ # Save the overall coverage information.
+ self.CopyCoverageFileToDestination('total_coverage')
+
if not os.path.exists(self.coverage_info_file):
logging.fatal('%s was not created. Coverage run failed.' %
self.coverage_info_file)