aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-03-02 13:12:20 +0900
committerOphestra <cat@gensokyo.uk>2026-03-02 13:12:20 +0900
commitc83905f31194541892e99d5a57b7b974b6a601d2 (patch)
tree22a765306014f1b3d2a768f8ad04c3ff9a063570
parentb7cc14f296e2564bd10a7539e18333db7989a2b1 (diff)
internal/rosa/cmake: enable check
CMake was packaged very early, before the current infrastructure existed to support this. This change patches out broken tests and enables the test suite. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/cmake.go70
1 files changed, 69 insertions, 1 deletions
diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go
index 22b00add..203814bd 100644
--- a/internal/rosa/cmake.go
+++ b/internal/rosa/cmake.go
@@ -19,8 +19,71 @@ func (t Toolchain) newCMake() pkg.Artifact {
mustDecode(checksum),
pkg.TarGzip,
), &PackageAttr{
+ // test suite expects writable source tree
+ Writable: true,
+
// expected to be writable in the copy made during bootstrap
Chmod: true,
+
+ Patches: [][2]string{
+ {"bootstrap-test-no-openssl", `diff --git a/Tests/BootstrapTest.cmake b/Tests/BootstrapTest.cmake
+index 137de78bc1..b4da52e664 100644
+--- a/Tests/BootstrapTest.cmake
++++ b/Tests/BootstrapTest.cmake
+@@ -9,7 +9,7 @@ if(NOT nproc EQUAL 0)
+ endif()
+ message(STATUS "running bootstrap: ${bootstrap} ${ninja_arg} ${parallel_arg}")
+ execute_process(
+- COMMAND ${bootstrap} ${ninja_arg} ${parallel_arg}
++ COMMAND ${bootstrap} ${ninja_arg} ${parallel_arg} -- -DCMAKE_USE_OPENSSL=OFF
+ WORKING_DIRECTORY "${bin_dir}"
+ RESULT_VARIABLE result
+ )
+`},
+
+ {"disable-broken-tests-musl", `diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
+index 2ead810437..f85cbb8b1c 100644
+--- a/Tests/CMakeLists.txt
++++ b/Tests/CMakeLists.txt
+@@ -384,7 +384,6 @@ if(BUILD_TESTING)
+ add_subdirectory(CMakeLib)
+ endif()
+ add_subdirectory(CMakeOnly)
+- add_subdirectory(RunCMake)
+
+ add_subdirectory(FindPackageModeMakefileTest)
+
+@@ -528,9 +527,6 @@ if(BUILD_TESTING)
+ -DCMake_TEST_CUDA:BOOL=${CMake_TEST_CUDA}
+ -DCMake_INSTALL_NAME_TOOL_BUG:BOOL=${CMake_INSTALL_NAME_TOOL_BUG}
+ )
+- ADD_TEST_MACRO(ExportImport ExportImport)
+- set_property(TEST ExportImport APPEND
+- PROPERTY LABELS "CUDA")
+ ADD_TEST_MACRO(Unset Unset)
+ ADD_TEST_MACRO(PolicyScope PolicyScope)
+ ADD_TEST_MACRO(EmptyLibrary EmptyLibrary)
+@@ -624,7 +620,6 @@ if(BUILD_TESTING)
+ # run test for BundleUtilities on supported platforms/compilers
+ if((MSVC OR
+ MINGW OR
+- CMAKE_SYSTEM_NAME MATCHES "Linux" OR
+ CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ AND NOT CMAKE_GENERATOR STREQUAL "Watcom WMake")
+
+@@ -3095,10 +3090,6 @@ if(BUILD_TESTING)
+ "${CMake_SOURCE_DIR}/Tests/CTestTestFdSetSize/test.cmake.in"
+ "${CMake_BINARY_DIR}/Tests/CTestTestFdSetSize/test.cmake"
+ @ONLY ESCAPE_QUOTES)
+- add_test(CTestTestFdSetSize ${CMAKE_CTEST_COMMAND}
+- -S "${CMake_BINARY_DIR}/Tests/CTestTestFdSetSize/test.cmake" -j20 -V --timeout 120
+- --output-log "${CMake_BINARY_DIR}/Tests/CTestTestFdSetSize/testOutput.log"
+- )
+
+ if(CMAKE_TESTS_CDASH_SERVER)
+ set(regex "^([^:]+)://([^/]+)(.*)$")
+`},
+ },
}, &MakeHelper{
OmitDefaults: true,
@@ -30,8 +93,13 @@ func (t Toolchain) newCMake() pkg.Artifact {
{"parallel", `"$(nproc)"`},
{"--"},
{"-DCMAKE_USE_OPENSSL", "OFF"},
+ {"-DCMake_TEST_NO_NETWORK", "ON"},
+ },
+ Check: []string{
+ "CTEST_OUTPUT_ON_FAILURE=1",
+ "CTEST_PARALLEL_LEVEL=128",
+ "test",
},
- SkipCheck: true,
},
KernelHeaders,
)