fixup! Allow gcovr >= 3.1 to be used to generate html coverage report

Rename gcovr_3_1 to gcovr_new_rootdir
pull/3145/head
Joel Klinghed 7 years ago
parent ed8197207e
commit 4e1b229b37
  1. 2
      mesonbuild/backend/ninjabackend.py
  2. 4
      mesonbuild/scripts/coverage.py
  3. 4
      run_unittests.py

@ -668,7 +668,7 @@ int dummy;
elem.add_item('COMMAND', command)
elem.add_item('DESC', 'Generating HTML coverage report.')
elem.write(outfile)
elif gcovr_exe and gcovr_3_1:
elif gcovr_exe and gcovr_new_rootdir:
added_rule = True
htmloutdir = os.path.join(self.environment.get_log_dir(), 'coveragereport')
phony_elem = NinjaBuildElement(self.all_outputs, 'meson-coverage-html', 'phony', os.path.join(htmloutdir, 'index.html'))

@ -70,7 +70,7 @@ def coverage(source_root, build_root, log_dir):
'--show-details',
'--branch-coverage',
covinfo])
elif gcovr_exe and gcovr_3_1:
elif gcovr_exe and gcovr_new_rootdir:
htmloutdir = os.path.join(log_dir, 'coveragereport')
subprocess.check_call([gcovr_exe,
'--html',
@ -84,7 +84,7 @@ def coverage(source_root, build_root, log_dir):
pathlib.Path(log_dir, 'coverage.xml').as_uri())
print('Text coverage report can be found at',
pathlib.Path(log_dir, 'coverage.txt').as_uri())
if (lcov_exe and genhtml_exe) or (gcovr_exe and gcovr_3_1):
if (lcov_exe and genhtml_exe) or (gcovr_exe and gcovr_new_rootdir):
print('Html coverage report can be found at',
pathlib.Path(htmloutdir, 'index.html').as_uri())
return 0

@ -2554,10 +2554,10 @@ class LinuxlikeTests(BasePlatformTests):
self.assertIn("-fsanitize=address", i["command"])
def test_coverage(self):
gcovr_exe, gcovr_3_1 = mesonbuild.environment.detect_gcovr()
gcovr_exe, gcovr_new_rootdir = mesonbuild.environment.detect_gcovr()
if not gcovr_exe:
raise unittest.SkipTest('gcovr not found')
if not shutil.which('genhtml') and not gcovr_3_1:
if not shutil.which('genhtml') and not gcovr_new_rootdir:
raise unittest.SkipTest('genhtml not found and gcovr is too old')
if 'clang' in os.environ.get('CC', ''):
# We need to use llvm-cov instead of gcovr with clang

Loading…
Cancel
Save