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)