diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-04-13 14:35:06 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2020-10-13 17:55:16 -0400 |
commit | 6333ee88c1a243f28b3a7a9bce2dd003b541280a (patch) | |
tree | b93f3685bc8eb0c96fb6ba6f4350b781ba2f6213 /run_unittests.py | |
parent | 311a07c39a34e2aa4c193b4188d47f5e50ca1eda (diff) | |
download | meson-6333ee88c1a243f28b3a7a9bce2dd003b541280a.zip meson-6333ee88c1a243f28b3a7a9bce2dd003b541280a.tar.gz meson-6333ee88c1a243f28b3a7a9bce2dd003b541280a.tar.bz2 |
Merge wraps from subprojects into wraps from main project
wraps from subprojects are now merged into the list of wraps from main
project, so they can be used to download dependencies of dependencies
instead of having to promote wraps manually. If multiple projects
provides the same wrap file, the first one to be configured wins.
This also fix usage of sub-subproject that don't have wrap files. We can
now configure B when its source tree is at
`subprojects/A/subprojects/B/`. This has the implication that we cannot
assume that subproject "foo" is at `self.subproject_dir / 'foo'` any
more.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/run_unittests.py b/run_unittests.py index 22e7cdc..cfab11b 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -4183,6 +4183,16 @@ recommended as it is not supported on some platforms''') 'name': 'sub_novar', 'version': '1.0', }, + { + 'descriptive_name': 'subsub', + 'name': 'subsub', + 'version': 'undefined' + }, + { + 'descriptive_name': 'subsubsub', + 'name': 'subsubsub', + 'version': 'undefined' + }, ] } res['subprojects'] = sorted(res['subprojects'], key=lambda i: i['name']) @@ -5365,16 +5375,16 @@ class FailureTests(BasePlatformTests): correct message when the fallback subproject is found but the variable inside it is not. 4. A fallback dependency is found from the subproject parsed in (3) - 5. The correct message is outputted when the .wrap file is missing for - a sub-subproject. + 5. A wrap file from a subproject is used but fails because it does not + contain required keys. ''' tdir = os.path.join(self.unit_test_dir, '20 subproj dep variables') out = self.init(tdir, inprocess=True) self.assertRegex(out, r"Subproject directory not found and .*nosubproj.wrap.* file not found") self.assertRegex(out, r'Function does not take positional arguments.') - self.assertRegex(out, r'WARNING:.* Dependency .*subsubproject.* not found but it is available in a sub-subproject.') - self.assertRegex(out, r'Subproject directory not found and .*subsubproject.wrap.* file not found') + self.assertRegex(out, r'Dependency .*somenotfounddep.* from subproject .*subprojects/somesubproj.* found: .*NO.*') self.assertRegex(out, r'Dependency .*zlibproxy.* from subproject .*subprojects.*somesubproj.* found: .*YES.*') + self.assertRegex(out, r'Missing key .*source_filename.* in subsubproject.wrap') def test_exception_exit_status(self): ''' |