Tests/RunCMake: Add script to auto-generate RunCMake test suite stub

This commit is contained in:
Kyle Edwards
2023-03-07 14:05:25 -05:00
parent 3d6075da4d
commit f1aedf2240
2 changed files with 17 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
if(NOT DEFINED RunCMake_TEST_SUITE)
message("Usage: ${CMAKE_COMMAND} -DRunCMake_TEST_SUITE=<test name> -P Tests/RunCMake/AddRunCMakeTestSuite.cmake")
else()
include("Source/CMakeVersion.cmake")
set(RunCMake_TEST_DIR "Tests/RunCMake/${RunCMake_TEST_SUITE}")
file(MAKE_DIRECTORY "${RunCMake_TEST_DIR}")
file(WRITE "${RunCMake_TEST_DIR}/CMakeLists.txt" "cmake_minimum_required(VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR})\nproject(\${RunCMake_TEST} NONE)\ninclude(\${RunCMake_TEST}.cmake)\n")
file(WRITE "${RunCMake_TEST_DIR}/RunCMakeTest.cmake" "include(RunCMake)\n\n# Write your test cases below, like so:\n#\n# run_cmake(TestCaseName)\n")
file(APPEND "Tests/RunCMake/CMakeLists.txt" "add_RunCMake_test(${RunCMake_TEST_SUITE})\n")
endif()

View File

@@ -82,3 +82,10 @@ match the regular expression are not run. For example::
This will only run subtests in ``RunCMake.Example`` that start with
``example``.
To speed up the process of creating a new ``RunCMake`` test, you can run a
script that will automatically perform steps 1 through 4 for you::
cmake -DRunCMake_TEST_SUITE=<test suite name> -P Tests/RunCMake/AddRunCMakeTestSuite.cmake
Be sure to run this from the top-level CMake source directory.