From 8581a2b1226bdeb69063d41d46fbc2a8fdc1c2fb Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 7 Oct 2021 09:39:31 +0200 Subject: interpreter: extract_objects provides a valid source This ensures that there is no warnings when running meson on test cases/common/22 object extraction. Signed-off-by: Paolo Bonzini --- mesonbuild/interpreter/interpreter.py | 9 +++++---- unittests/allplatformstests.py | 6 ++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 5b108c7..5421343 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -90,11 +90,12 @@ if T.TYPE_CHECKING: # Input source types passed to Targets SourceInputs = T.Union[mesonlib.File, build.GeneratedList, build.BuildTarget, build.BothLibraries, - build.CustomTargetIndex, build.CustomTarget, build.GeneratedList, str] - # Input source types passed to the build.Target5 classes + build.CustomTargetIndex, build.CustomTarget, build.GeneratedList, + build.ExtractedObjects, str] + # Input source types passed to the build.Target classes SourceOutputs = T.Union[mesonlib.File, build.GeneratedList, build.BuildTarget, build.CustomTargetIndex, build.CustomTarget, - build.GeneratedList] + build.ExtractedObjects, build.GeneratedList] def stringifyUserArguments(args, quote=False): @@ -2573,7 +2574,7 @@ Try setting b_lundef to false instead.'''.format(self.coredata.options[OptionKey results.append(s) elif isinstance(s, (build.GeneratedList, build.BuildTarget, build.CustomTargetIndex, build.CustomTarget, - build.GeneratedList)): + build.ExtractedObjects)): results.append(s) else: raise InterpreterException(f'Source item is {s!r} instead of ' diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py index ec0b393..ea5ab8e 100644 --- a/unittests/allplatformstests.py +++ b/unittests/allplatformstests.py @@ -3540,6 +3540,12 @@ class AllPlatformTests(BasePlatformTests): self.build() self.run_tests() + def test_extract_objects_custom_target_no_warning(self): + testdir = os.path.join(self.common_test_dir, '22 object extraction') + + out = self.init(testdir) + self.assertNotRegex(out, "WARNING:.*can't be converted to File object") + def test_multi_output_custom_target_no_warning(self): testdir = os.path.join(self.common_test_dir, '228 custom_target source') -- cgit v1.1