aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2024-10-13 22:47:33 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2024-10-13 22:53:40 +0300
commit1bd0c16e7760ee4608e55806a3f1eba228f0a9e2 (patch)
tree42d9a83e5d124cdbdc8600ac1b507bd17f20b73d
parent9fd9cc957f979c4fd9fbc18886122d62f5e1a129 (diff)
downloadmeson-fixvsci.zip
meson-fixvsci.tar.gz
meson-fixvsci.tar.bz2
Do not run symlink setup on Windows.fixvsci
-rwxr-xr-xrun_project_tests.py45
1 files changed, 28 insertions, 17 deletions
diff --git a/run_project_tests.py b/run_project_tests.py
index a8d9a5b..49a9608 100755
--- a/run_project_tests.py
+++ b/run_project_tests.py
@@ -1563,17 +1563,23 @@ def detect_tools(report: bool = True) -> None:
print('{0:<{2}}: {1}'.format(tool.tool, get_version(tool), max_width))
print()
-tmpdir1 = list(Path('.').glob('test cases/**/*install functions and follow symlinks'))
-tmpdir2 = list(Path('.').glob('test cases/frameworks/*boost symlinks'))
-assert len(tmpdir1) == 1
-assert len(tmpdir2) == 1
-symlink_test_dir1 = tmpdir1[0]
-symlink_test_dir2 = tmpdir2[0] / 'boost/include'
-symlink_file1 = symlink_test_dir1 / 'foo/link1'
-symlink_file2 = symlink_test_dir1 / 'foo/link2.h'
-symlink_file3 = symlink_test_dir2 / 'boost'
-del tmpdir1
-del tmpdir2
+symlink_test_dir1 = None
+symlink_test_dir2 = None
+symlink_file1 = None
+symlink_file2 = None
+symlink_file3 = None
+
+def scan_test_data_symlinks() -> None:
+ global symlink_test_dir1, symlink_test_dir2, symlink_file1, symlink_file2, symlink_file3
+ tmpdir1 = list(Path('.').glob('test cases/**/*install functions and follow symlinks'))
+ tmpdir2 = list(Path('.').glob('test cases/frameworks/*boost symlinks'))
+ assert len(tmpdir1) == 1
+ assert len(tmpdir2) == 1
+ symlink_test_dir1 = tmpdir1[0]
+ symlink_test_dir2 = tmpdir2[0] / 'boost/include'
+ symlink_file1 = symlink_test_dir1 / 'foo/link1'
+ symlink_file2 = symlink_test_dir1 / 'foo/link2.h'
+ symlink_file3 = symlink_test_dir2 / 'boost'
def clear_transitive_files() -> None:
a = Path('test cases/common')
@@ -1583,16 +1589,19 @@ def clear_transitive_files() -> None:
else:
mesonlib.windows_proof_rm(str(d))
try:
- symlink_file1.unlink()
+ if symlink_file1 is not None:
+ symlink_file1.unlink()
except FileNotFoundError:
pass
try:
- symlink_file2.unlink()
+ if symlink_file2 is not None:
+ symlink_file2.unlink()
except FileNotFoundError:
pass
try:
- symlink_file3.unlink()
- symlink_test_dir2.rmdir()
+ if symlink_file3 is not None:
+ symlink_file3.unlink()
+ symlink_test_dir2.rmdir()
except FileNotFoundError:
pass
@@ -1610,7 +1619,6 @@ if __name__ == '__main__':
raise SystemExit('Running under CI but $MESON_CI_JOBNAME is not set (set to "thirdparty" if you are running outside of the github org)')
setup_vsenv()
-
try:
# This fails in some CI environments for unknown reasons.
num_workers = multiprocessing.cpu_count()
@@ -1649,8 +1657,11 @@ if __name__ == '__main__':
if options.native_file:
options.extra_args += ['--native-file', options.native_file]
+ if not mesonlib.is_windows():
+ scan_test_data_symlinks()
clear_transitive_files()
- setup_symlinks()
+ if not mesonlib.is_windows():
+ setup_symlinks()
mesonlib.set_meson_command(get_meson_script())
print('Meson build system', meson_version, 'Project Tests')