diff --git a/run_format_tests.py b/run_format_tests.py old mode 100644 new mode 100755 index 70fa1212e..ca3e715f2 --- a/run_format_tests.py +++ b/run_format_tests.py @@ -75,9 +75,17 @@ def check_format() -> None: continue check_file(root / file) +def check_symlinks(): + for f in Path('test cases').glob('**/*'): + if f.is_symlink(): + if 'boost symlinks' in str(f): + continue + raise SystemExit(f'Test data dir contains symlink: {f}.') + if __name__ == '__main__': script_dir = os.path.split(__file__)[0] if script_dir != '': os.chdir(script_dir) check_format() + check_symlinks() diff --git a/run_project_tests.py b/run_project_tests.py index 7ff164086..39bf1628f 100755 --- a/run_project_tests.py +++ b/run_project_tests.py @@ -1561,6 +1561,14 @@ def print_tool_versions() -> None: print('{0:<{2}}: {1}'.format(tool.tool, get_version(tool), max_width)) print() +tmpdir = list(Path('.').glob('**/*install functions and follow symlinks')) +print(tmpdir) +assert(len(tmpdir) == 1) +symlink_test_dir = tmpdir[0] +symlink_file1 = symlink_test_dir / 'foo/link1' +symlink_file2 = symlink_test_dir / 'foo/link2.h' +del tmpdir + def clear_transitive_files() -> None: a = Path('test cases/common') for d in a.glob('*subproject subdir/subprojects/subsubsub*'): @@ -1568,6 +1576,18 @@ def clear_transitive_files() -> None: mesonlib.windows_proof_rmtree(str(d)) else: mesonlib.windows_proof_rm(str(d)) + try: + symlink_file1.unlink() + except FileNotFoundError: + pass + try: + symlink_file2.unlink() + except FileNotFoundError: + pass + +def setup_symlinks() -> None: + symlink_file1.symlink_to('file1') + symlink_file2.symlink_to('file1') if __name__ == '__main__': if under_ci and not raw_ci_jobname: @@ -1611,6 +1631,7 @@ if __name__ == '__main__': options.extra_args += ['--native-file', options.native_file] clear_transitive_files() + setup_symlinks() print('Meson build system', meson_version, 'Project Tests') print('Using python', sys.version.split('\n')[0], f'({sys.executable!r})') diff --git a/test cases/common/268 install functions and follow_symlinks/foo/file1 b/test cases/common/268 install functions and follow symlinks/foo/file1 similarity index 100% rename from test cases/common/268 install functions and follow_symlinks/foo/file1 rename to test cases/common/268 install functions and follow symlinks/foo/file1 diff --git a/test cases/common/268 install functions and follow_symlinks/meson.build b/test cases/common/268 install functions and follow symlinks/meson.build similarity index 100% rename from test cases/common/268 install functions and follow_symlinks/meson.build rename to test cases/common/268 install functions and follow symlinks/meson.build diff --git a/test cases/common/268 install functions and follow_symlinks/test.json b/test cases/common/268 install functions and follow symlinks/test.json similarity index 100% rename from test cases/common/268 install functions and follow_symlinks/test.json rename to test cases/common/268 install functions and follow symlinks/test.json diff --git a/test cases/common/268 install functions and follow_symlinks/foo/link1 b/test cases/common/268 install functions and follow_symlinks/foo/link1 deleted file mode 120000 index 08219db9b..000000000 --- a/test cases/common/268 install functions and follow_symlinks/foo/link1 +++ /dev/null @@ -1 +0,0 @@ -file1 \ No newline at end of file diff --git a/test cases/common/268 install functions and follow_symlinks/foo/link2.h b/test cases/common/268 install functions and follow_symlinks/foo/link2.h deleted file mode 120000 index 08219db9b..000000000 --- a/test cases/common/268 install functions and follow_symlinks/foo/link2.h +++ /dev/null @@ -1 +0,0 @@ -file1 \ No newline at end of file diff --git a/test cases/warning/9 meson.options/subprojects/no-warn/meson_options.txt b/test cases/warning/9 meson.options/subprojects/no-warn/meson_options.txt deleted file mode 120000 index 7b28df279..000000000 --- a/test cases/warning/9 meson.options/subprojects/no-warn/meson_options.txt +++ /dev/null @@ -1 +0,0 @@ -meson.options \ No newline at end of file diff --git a/test cases/warning/9 meson.options/subprojects/no-warn/meson_options.txt b/test cases/warning/9 meson.options/subprojects/no-warn/meson_options.txt new file mode 100644 index 000000000..b84ee83fc --- /dev/null +++ b/test cases/warning/9 meson.options/subprojects/no-warn/meson_options.txt @@ -0,0 +1 @@ +option('foo', type : 'string')