| #!/usr/bin/env python3 |
| |
| import os, sys |
| from pathlib import Path |
| |
| assert 'MESON_SOURCE_ROOT' in os.environ |
| assert 'MESON_BUILD_ROOT' in os.environ |
| assert 'MESON_SUBDIR' in os.environ |
| assert 'MESONINTROSPECT' in os.environ |
| assert 'MY_ENV' in os.environ |
| |
| # Environment has absolute paths and argv has relative paths when using ninja |
| # backend and absolute paths when using vs backend. What matters is once |
| # resolved they point to same location. |
| env_source_root = Path(os.environ['MESON_SOURCE_ROOT']).resolve() |
| env_build_root = Path(os.environ['MESON_BUILD_ROOT']).resolve() |
| env_current_source_dir = Path(env_source_root, os.environ['MESON_SUBDIR']).resolve() |
| |
| print(sys.argv) |
| argv_paths = [Path(i).resolve() for i in sys.argv[1:]] |
| source_root, build_root, current_source_dir = argv_paths |
| |
| print(f'{source_root} == {env_source_root}') |
| assert source_root == env_source_root |
| print(f'{build_root} == {env_build_root}') |
| assert build_root == env_build_root |
| print(f'{current_source_dir} == {env_current_source_dir}') |
| assert current_source_dir == env_current_source_dir |