diff options
| author | Eli Schwartz <eschwartz93@gmail.com> | 2024-07-15 17:19:42 -0400 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2024-07-15 23:43:10 -0400 |
| commit | 2a8bb3b9f10f180c50930db92eaf23e8c4c9b81a (patch) | |
| tree | 250e3df2741601cf169f85728a11841d1d296e54 | |
| parent | 2fd7d64a50aa4f8a76d5b9ca13f7d8f8f40b959c (diff) | |
| download | meson-2a8bb3b9f10f180c50930db92eaf23e8c4c9b81a.tar.gz | |
tests: short-circuit tests that require cmake, faster
We have two ways of marking a test as skipped:
- raise MESON_SKIP_TEST
- declare that the tools it needs in test.json are unavailable
Doing the former requires performing the configure stage including e.g.
language setup.
In several cases we weren't even getting this far anyway since we used
both mechanisms (the cmake category has a category-wide skip for this,
in fact). In some case, we were missing test.json declaring it skippable;
add this.
11 files changed, 12 insertions, 32 deletions
diff --git a/test cases/cmake/11 cmake_module_path/meson.build b/test cases/cmake/11 cmake_module_path/meson.build index e20193696..2e835fba1 100644 --- a/test cases/cmake/11 cmake_module_path/meson.build +++ b/test cases/cmake/11 cmake_module_path/meson.build @@ -3,10 +3,6 @@ project('user CMake find_package module using cmake_module_path', ['c', 'cpp'], meson_version: '>= 0.55.0') -if not find_program('cmake', required: false).found() - error('MESON_SKIP_TEST cmake binary not available.') -endif - # NOTE: can't request Python3 via dependency('Python3', method: 'cmake') # Meson intercepts and wants "method: auto" diff --git a/test cases/cmake/22 cmake module/meson.build b/test cases/cmake/22 cmake module/meson.build index 68f9993a6..581804f66 100644 --- a/test cases/cmake/22 cmake module/meson.build +++ b/test cases/cmake/22 cmake module/meson.build @@ -4,11 +4,6 @@ if build_machine.system() == 'cygwin' error('MESON_SKIP_TEST CMake is broken on Cygwin.') endif -cmake_bin = find_program('cmake', required: false) -if not cmake_bin.found() - error('MESON_SKIP_TEST CMake not installed.') -endif - cc = meson.get_compiler('c') if cc.get_id() == 'clang-cl' and meson.backend() == 'ninja' and build_machine.system() == 'windows' error('MESON_SKIP_TEST CMake installation nor operational for vs2017 clangclx64ninja') diff --git a/test cases/failing build/3 cmake subproject isolation/meson.build b/test cases/failing build/3 cmake subproject isolation/meson.build index e60633595..2351ec54b 100644 --- a/test cases/failing build/3 cmake subproject isolation/meson.build +++ b/test cases/failing build/3 cmake subproject isolation/meson.build @@ -1,9 +1,5 @@ project('subproject isolation', ['c', 'cpp']) -if not find_program('cmake', required: false).found() - error('MESON_SKIP_TEST CMake is not installed') -endif - incdir = meson.source_root() / 'incDir' cm = import('cmake') diff --git a/test cases/failing/109 cmake executable dependency/meson.build b/test cases/failing/109 cmake executable dependency/meson.build index 48d8fcbb6..0fc0f9b6a 100644 --- a/test cases/failing/109 cmake executable dependency/meson.build +++ b/test cases/failing/109 cmake executable dependency/meson.build @@ -1,9 +1,5 @@ project('cmake-executable-dependency', 'c') -if not find_program('cmake', required: false).found() - error('MESON_SKIP_TEST CMake is not installed') -endif - cmake = import('cmake') cmlib = cmake.subproject('cmlib') maind = cmlib.dependency('main') diff --git a/test cases/failing/109 cmake executable dependency/test.json b/test cases/failing/109 cmake executable dependency/test.json index f7c477555..92a6ee1c5 100644 --- a/test cases/failing/109 cmake executable dependency/test.json +++ b/test cases/failing/109 cmake executable dependency/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/109 cmake executable dependency/meson.build:9:14: ERROR: main is an executable and does not support the dependency() method. Use target() instead." + "line": "test cases/failing/109 cmake executable dependency/meson.build:5:14: ERROR: main is an executable and does not support the dependency() method. Use target() instead." } ], "tools": { diff --git a/test cases/failing/119 cmake subproject error/meson.build b/test cases/failing/119 cmake subproject error/meson.build index a308239fc..9304af7e8 100644 --- a/test cases/failing/119 cmake subproject error/meson.build +++ b/test cases/failing/119 cmake subproject error/meson.build @@ -1,8 +1,4 @@ project('cmake-executable-dependency') -if not find_program('cmake', required: false).found() - error('MESON_SKIP_TEST CMake is not installed') -endif - cmake = import('cmake') cmlib = cmake.subproject('cmlib') diff --git a/test cases/failing/119 cmake subproject error/test.json b/test cases/failing/119 cmake subproject error/test.json index 625e45175..d8271a22a 100644 --- a/test cases/failing/119 cmake subproject error/test.json +++ b/test cases/failing/119 cmake subproject error/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/119 cmake subproject error/meson.build:8:14: ERROR: Failed to configure the CMake subproject: Fancy error message" + "line": "test cases/failing/119 cmake subproject error/meson.build:4:14: ERROR: Failed to configure the CMake subproject: Fancy error message" } ], "tools": { diff --git a/test cases/linuxlike/13 cmake dependency/meson.build b/test cases/linuxlike/13 cmake dependency/meson.build index f612e1d52..812dcf9c5 100644 --- a/test cases/linuxlike/13 cmake dependency/meson.build +++ b/test cases/linuxlike/13 cmake dependency/meson.build @@ -2,10 +2,7 @@ # due to use of setup_env.json project('external CMake dependency', ['c', 'cpp']) -cmake = find_program('cmake', required: false) -if not cmake.found() - error('MESON_SKIP_TEST cmake binary not available.') -endif +cmake = find_program('cmake') # Zlib is probably on all dev machines. diff --git a/test cases/linuxlike/13 cmake dependency/test.json b/test cases/linuxlike/13 cmake dependency/test.json index 484ce202c..208b59193 100644 --- a/test cases/linuxlike/13 cmake dependency/test.json +++ b/test cases/linuxlike/13 cmake dependency/test.json @@ -10,5 +10,8 @@ { "line": " ['CMMesonTESTf1::evil_non_standard_target']" } - ] + ], + "tools": { + "cmake": ">=3.11" + } } diff --git a/test cases/osx/9 framework recasting/meson.build b/test cases/osx/9 framework recasting/meson.build index bf8a5e63a..83fe19ed0 100644 --- a/test cases/osx/9 framework recasting/meson.build +++ b/test cases/osx/9 framework recasting/meson.build @@ -1,9 +1,5 @@ project('framework recasting', 'c', 'cpp') -if not find_program('cmake', required: false).found() - error('MESON_SKIP_TEST cmake binary not available.') -endif - x = dependency('OpenAL', method: 'cmake') y = executable('tt', files('main.cpp'), dependencies: x) diff --git a/test cases/osx/9 framework recasting/test.json b/test cases/osx/9 framework recasting/test.json new file mode 100644 index 000000000..77003c4dc --- /dev/null +++ b/test cases/osx/9 framework recasting/test.json @@ -0,0 +1,5 @@ +{ + "tools": { + "cmake": ">=3.11" + } +} |
