From 8fd089018d3d720d9725480893301121e06c7d6e Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 9 Apr 2024 20:12:28 -0400 Subject: Tests/RunCMake/cmake_language: test GET_EXPERIMENTAL_FEATURE_ENABLED --- .../Experimental/ExportPackageDependencies-set-stderr.txt | 6 ++++++ .../Experimental/ExportPackageDependencies-set.cmake | 11 +++++++++++ .../Experimental/ExportPackageDependencies-unset.cmake | 8 ++++++++ Tests/RunCMake/cmake_language/Experimental/Unknown-result.txt | 1 + Tests/RunCMake/cmake_language/Experimental/Unknown-stderr.txt | 4 ++++ Tests/RunCMake/cmake_language/Experimental/Unknown.cmake | 8 ++++++++ .../Experimental/WindowsKernelModeDriver-set-stderr.txt | 6 ++++++ .../Experimental/WindowsKernelModeDriver-set.cmake | 11 +++++++++++ .../Experimental/WindowsKernelModeDriver-unset.cmake | 8 ++++++++ Tests/RunCMake/cmake_language/RunCMakeTest.cmake | 6 ++++++ 10 files changed, 69 insertions(+) create mode 100644 Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set-stderr.txt create mode 100644 Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set.cmake create mode 100644 Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-unset.cmake create mode 100644 Tests/RunCMake/cmake_language/Experimental/Unknown-result.txt create mode 100644 Tests/RunCMake/cmake_language/Experimental/Unknown-stderr.txt create mode 100644 Tests/RunCMake/cmake_language/Experimental/Unknown.cmake create mode 100644 Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set-stderr.txt create mode 100644 Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set.cmake create mode 100644 Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-unset.cmake diff --git a/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set-stderr.txt b/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set-stderr.txt new file mode 100644 index 0000000..0207835 --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set-stderr.txt @@ -0,0 +1,6 @@ +CMake Warning \(dev\) at Experimental/ExportPackageDependencies-set.cmake:4 \(cmake_language\): + CMake's EXPORT_PACKAGE_DEPENDENCIES support is experimental. It is meant + only for experimentation and feedback to CMake developers. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) +This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set.cmake b/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set.cmake new file mode 100644 index 0000000..74b3f93 --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-set.cmake @@ -0,0 +1,11 @@ +set(CMAKE_EXPERIMENTAL_EXPORT_PACKAGE_DEPENDENCIES + "1942b4fa-b2c5-4546-9385-83f254070067") + +cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED + "ExportPackageDependencies" + feature_present) + +if (NOT feature_present STREQUAL "TRUE") + message(FATAL_ERROR + "Expected the `ExportPackageDependencies` feature to be enabled.") +endif () diff --git a/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-unset.cmake b/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-unset.cmake new file mode 100644 index 0000000..c60595f --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/ExportPackageDependencies-unset.cmake @@ -0,0 +1,8 @@ +cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED + "ExportPackageDependencies" + feature_present) + +if (NOT feature_present STREQUAL "FALSE") + message(FATAL_ERROR + "Expected the `ExportPackageDependencies` feature to be disabled.") +endif () diff --git a/Tests/RunCMake/cmake_language/Experimental/Unknown-result.txt b/Tests/RunCMake/cmake_language/Experimental/Unknown-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/Unknown-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/cmake_language/Experimental/Unknown-stderr.txt b/Tests/RunCMake/cmake_language/Experimental/Unknown-stderr.txt new file mode 100644 index 0000000..ca7c058 --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/Unknown-stderr.txt @@ -0,0 +1,4 @@ +CMake Error at Experimental/Unknown.cmake:1 \(cmake_language\): + cmake_language Experimental feature name "Unknown" does not exist. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/cmake_language/Experimental/Unknown.cmake b/Tests/RunCMake/cmake_language/Experimental/Unknown.cmake new file mode 100644 index 0000000..d5e3047 --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/Unknown.cmake @@ -0,0 +1,8 @@ +cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED + "Unknown" + feature_present) + +if (NOT feature_present STREQUAL "") + message(FATAL_ERROR + "Got a result for the `Unknown` experimental feature.") +endif () diff --git a/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set-stderr.txt b/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set-stderr.txt new file mode 100644 index 0000000..d6f8788 --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set-stderr.txt @@ -0,0 +1,6 @@ +CMake Warning \(dev\) at Experimental/WindowsKernelModeDriver-set.cmake:4 \(cmake_language\): + CMake's Windows kernel-mode driver support is experimental. It is meant + only for experimentation and feedback to CMake developers. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) +This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set.cmake b/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set.cmake new file mode 100644 index 0000000..f942d95 --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-set.cmake @@ -0,0 +1,11 @@ +set(CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER + "5c2d848d-4efa-4529-a768-efd57171bf68") + +cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED + "WindowsKernelModeDriver" + feature_present) + +if (NOT feature_present STREQUAL "TRUE") + message(FATAL_ERROR + "Expected the `WindowsKernelModeDriver` feature to be enabled.") +endif () diff --git a/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-unset.cmake b/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-unset.cmake new file mode 100644 index 0000000..7aee0d3 --- /dev/null +++ b/Tests/RunCMake/cmake_language/Experimental/WindowsKernelModeDriver-unset.cmake @@ -0,0 +1,8 @@ +cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED + "WindowsKernelModeDriver" + feature_present) + +if (NOT feature_present STREQUAL "FALSE") + message(FATAL_ERROR + "Expected the `WindowsKernelModeDriver` feature to be disabled.") +endif () diff --git a/Tests/RunCMake/cmake_language/RunCMakeTest.cmake b/Tests/RunCMake/cmake_language/RunCMakeTest.cmake index 5fb2de6..7c47b06 100644 --- a/Tests/RunCMake/cmake_language/RunCMakeTest.cmake +++ b/Tests/RunCMake/cmake_language/RunCMakeTest.cmake @@ -156,3 +156,9 @@ run_cmake_command( -DCMAKE_MESSAGE_LOG_LEVEL=TRACE -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake ) + +run_cmake(Experimental/ExportPackageDependencies-set) +run_cmake(Experimental/ExportPackageDependencies-unset) +run_cmake(Experimental/WindowsKernelModeDriver-set) +run_cmake(Experimental/WindowsKernelModeDriver-unset) +run_cmake(Experimental/Unknown) -- cgit v0.12