From 943596abbb1cba5b6b00051505df4ddd2480aee0 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 6 Aug 2021 15:16:49 -0400 Subject: [PATCH] Fix --force-fallack-for with --wrap-mode=nofallback Fixes: #9065 --- mesonbuild/interpreter/dependencyfallbacks.py | 8 ++++---- unittests/allplatformstests.py | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/mesonbuild/interpreter/dependencyfallbacks.py b/mesonbuild/interpreter/dependencyfallbacks.py index 2639e4212..5934cbd90 100644 --- a/mesonbuild/interpreter/dependencyfallbacks.py +++ b/mesonbuild/interpreter/dependencyfallbacks.py @@ -105,13 +105,13 @@ class DependencyFallbacksHolder(MesonInterpreterObject): return None def _do_subproject(self, kwargs: TYPE_nkwargs, func_args: TYPE_nvar, func_kwargs: TYPE_nkwargs) -> T.Optional[Dependency]: - if self.nofallback: - mlog.log('Not looking for a fallback subproject for the dependency', - mlog.bold(self.display_name), 'because:\nUse of fallback dependencies is disabled.') - return None if self.forcefallback: mlog.log('Looking for a fallback subproject for the dependency', mlog.bold(self.display_name), 'because:\nUse of fallback dependencies is forced.') + elif self.nofallback: + mlog.log('Not looking for a fallback subproject for the dependency', + mlog.bold(self.display_name), 'because:\nUse of fallback dependencies is disabled.') + return None else: mlog.log('Looking for a fallback subproject for the dependency', mlog.bold(self.display_name)) diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py index bd1e3fa02..b7881f641 100644 --- a/unittests/allplatformstests.py +++ b/unittests/allplatformstests.py @@ -556,6 +556,12 @@ class AllPlatformTests(BasePlatformTests): self.build() self.run_tests() + def test_force_fallback_for_nofallback(self): + testdir = os.path.join(self.unit_test_dir, '31 forcefallback') + self.init(testdir, extra_args=['--force-fallback-for=zlib,foo', '--wrap-mode=nofallback']) + self.build() + self.run_tests() + def test_testrepeat(self): testdir = os.path.join(self.common_test_dir, '206 tap tests') self.init(testdir)