Commit e5811afa authored by Abhishek Arya's avatar Abhishek Arya Committed by Commit Bot

Coverage: Add merge output in verbose mode.

Merge output is important to see any counter overflow warnings.
On coverage bot, this is already captured. So, support similar
functionality in verbose mode.

R=mmoroz@chromium.org,liaoyuke@chromium.org

Bug: 844432
Change-Id: I5bffb5c8d1c5b0748c66ebed3e4becca7619a3eb
Reviewed-on: https://chromium-review.googlesource.com/1070997Reviewed-by: default avatarMax Moroz <mmoroz@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561381}
parent d50daf01
...@@ -1184,7 +1184,9 @@ def _CreateCoverageProfileDataFromTargetProfDataFiles(profdata_file_paths): ...@@ -1184,7 +1184,9 @@ def _CreateCoverageProfileDataFromTargetProfDataFiles(profdata_file_paths):
LLVM_PROFDATA_PATH, 'merge', '-o', profdata_file_path, '-sparse=true' LLVM_PROFDATA_PATH, 'merge', '-o', profdata_file_path, '-sparse=true'
] ]
subprocess_cmd.extend(profdata_file_paths) subprocess_cmd.extend(profdata_file_paths)
subprocess.check_call(subprocess_cmd)
output = subprocess.check_output(subprocess_cmd)
logging.debug('Merge output: %s' % output)
except subprocess.CalledProcessError as error: except subprocess.CalledProcessError as error:
logging.error( logging.error(
'Failed to merge target profdata files to create coverage profdata. %s', 'Failed to merge target profdata files to create coverage profdata. %s',
...@@ -1220,7 +1222,9 @@ def _CreateTargetProfDataFileFromProfRawFiles(target, profraw_file_paths): ...@@ -1220,7 +1222,9 @@ def _CreateTargetProfDataFileFromProfRawFiles(target, profraw_file_paths):
LLVM_PROFDATA_PATH, 'merge', '-o', profdata_file_path, '-sparse=true' LLVM_PROFDATA_PATH, 'merge', '-o', profdata_file_path, '-sparse=true'
] ]
subprocess_cmd.extend(profraw_file_paths) subprocess_cmd.extend(profraw_file_paths)
subprocess.check_call(subprocess_cmd)
output = subprocess.check_output(subprocess_cmd)
logging.debug('Merge output: %s' % output)
except subprocess.CalledProcessError as error: except subprocess.CalledProcessError as error:
logging.error( logging.error(
'Failed to merge target profraw files to create target profdata.') 'Failed to merge target profraw files to create target profdata.')
...@@ -1496,6 +1500,15 @@ def _GetBinaryPathForWebTests(): ...@@ -1496,6 +1500,15 @@ def _GetBinaryPathForWebTests():
assert False, 'This platform is not supported for web tests.' assert False, 'This platform is not supported for web tests.'
def _SetupOutputDir():
"""Setup output directory."""
if os.path.exists(OUTPUT_DIR):
shutil.rmtree(OUTPUT_DIR)
# Creates |OUTPUT_DIR| and its platform sub-directory.
os.makedirs(_GetCoverageReportRootDirPath())
def _ParseCommandArguments(): def _ParseCommandArguments():
"""Adds and parses relevant arguments for tool comands. """Adds and parses relevant arguments for tool comands.
...@@ -1630,6 +1643,7 @@ def Main(): ...@@ -1630,6 +1643,7 @@ def Main():
global BUILD_DIR global BUILD_DIR
BUILD_DIR = _GetFullPath(args.build_dir) BUILD_DIR = _GetFullPath(args.build_dir)
global OUTPUT_DIR global OUTPUT_DIR
OUTPUT_DIR = _GetFullPath(args.output_dir) OUTPUT_DIR = _GetFullPath(args.output_dir)
...@@ -1652,8 +1666,7 @@ def Main(): ...@@ -1652,8 +1666,7 @@ def Main():
if args.filters: if args.filters:
absolute_filter_paths = _VerifyPathsAndReturnAbsolutes(args.filters) absolute_filter_paths = _VerifyPathsAndReturnAbsolutes(args.filters)
if not os.path.exists(_GetCoverageReportRootDirPath()): _SetupOutputDir()
os.makedirs(_GetCoverageReportRootDirPath())
# Get .profdata file and list of binary paths. # Get .profdata file and list of binary paths.
if args.web_tests: if args.web_tests:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment