diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2021-02-17 11:47:20 +0100 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2021-02-20 15:38:09 +0530 |
commit | 49e5037fade88533b2d728f3f7d3515f87d59fde (patch) | |
tree | 0490e9410cba039062d6baffa731cf8a03bf4d80 | |
parent | 8aae7dea7afde693a7e304455ada01ea24367a4e (diff) | |
download | meson-49e5037fade88533b2d728f3f7d3515f87d59fde.zip meson-49e5037fade88533b2d728f3f7d3515f87d59fde.tar.gz meson-49e5037fade88533b2d728f3f7d3515f87d59fde.tar.bz2 |
mtest: use / as path separator for ninja targets
os.path.relpath(f, wd) returns path with \ seperator on Windows, but ninja
targets always uses / separator.
See for example https://gitlab.freedesktop.org/ocrete/libnice/-/jobs/7348274.
Analyzed-by: Xavier Claessens <xavier.claessens@collabora.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | mesonbuild/mtest.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py index 6b3eb6f..95ad77b 100644 --- a/mesonbuild/mtest.py +++ b/mesonbuild/mtest.py @@ -1887,6 +1887,12 @@ def list_tests(th: TestHarness) -> bool: return not tests def rebuild_deps(wd: str, tests: T.List[TestSerialisation]) -> bool: + def convert_path_to_target(path: str) -> str: + path = os.path.relpath(path, wd) + if os.sep != '/': + path = path.replace(os.sep, '/') + return path + if not (Path(wd) / 'build.ninja').is_file(): print('Only ninja backend is supported to rebuild tests before running them.') return True @@ -1901,7 +1907,7 @@ def rebuild_deps(wd: str, tests: T.List[TestSerialisation]) -> bool: intro_targets = dict() # type: T.Dict[str, T.List[str]] for target in load_info_file(get_infodir(wd), kind='targets'): intro_targets[target['id']] = [ - os.path.relpath(f, wd) + convert_path_to_target(f) for f in target['filename']] for t in tests: for d in t.depends: |