aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/environment.py
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2021-10-31 10:55:21 -0400
committerEli Schwartz <eschwartz@archlinux.org>2021-11-01 18:57:14 -0400
commit0f0b1f22d2a1e835d7ee52cb7d391c3e29e9fecc (patch)
treec53bae58467e2842c1a7186a76cf6adec728d436 /mesonbuild/environment.py
parent86df7dd6273498e3256f4944b6b584636ae6ffb5 (diff)
downloadmeson-0f0b1f22d2a1e835d7ee52cb7d391c3e29e9fecc.zip
meson-0f0b1f22d2a1e835d7ee52cb7d391c3e29e9fecc.tar.gz
meson-0f0b1f22d2a1e835d7ee52cb7d391c3e29e9fecc.tar.bz2
coverage generator: obey the documentation and only generate supported outputs
We say: > If version 4.2 or higher of the first is found, targets coverage-text, > coverage-xml, coverage-sonarqube and coverage-html are generated. But this is totally untrue. Make it true, by actually checking (and not generating broken coverage commands when older versions of gcovr are found). Fixes #9505
Diffstat (limited to 'mesonbuild/environment.py')
-rw-r--r--mesonbuild/environment.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 7062c98..5635c8a 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -84,7 +84,7 @@ def _get_env_var(for_machine: MachineChoice, is_cross: bool, var_name: str) -> T
return value
-def detect_gcovr(min_version='3.3', new_rootdir_version='4.2', log=False):
+def detect_gcovr(min_version='3.3', log=False):
gcovr_exe = 'gcovr'
try:
p, found = Popen_safe([gcovr_exe, '--version'])[0:2]
@@ -95,7 +95,7 @@ def detect_gcovr(min_version='3.3', new_rootdir_version='4.2', log=False):
if p.returncode == 0 and mesonlib.version_compare(found, '>=' + min_version):
if log:
mlog.log('Found gcovr-{} at {}'.format(found, quote_arg(shutil.which(gcovr_exe))))
- return gcovr_exe, mesonlib.version_compare(found, '>=' + new_rootdir_version)
+ return gcovr_exe, found
return None, None
def detect_llvm_cov():
@@ -106,7 +106,7 @@ def detect_llvm_cov():
return None
def find_coverage_tools() -> T.Tuple[T.Optional[str], T.Optional[str], T.Optional[str], T.Optional[str], T.Optional[str]]:
- gcovr_exe, gcovr_new_rootdir = detect_gcovr()
+ gcovr_exe, gcovr_version = detect_gcovr()
llvm_cov_exe = detect_llvm_cov()
@@ -118,7 +118,7 @@ def find_coverage_tools() -> T.Tuple[T.Optional[str], T.Optional[str], T.Optiona
if not mesonlib.exe_exists([genhtml_exe, '--version']):
genhtml_exe = None
- return gcovr_exe, gcovr_new_rootdir, lcov_exe, genhtml_exe, llvm_cov_exe
+ return gcovr_exe, gcovr_version, lcov_exe, genhtml_exe, llvm_cov_exe
def detect_ninja(version: str = '1.8.2', log: bool = False) -> T.List[str]:
r = detect_ninja_command_and_version(version, log)