FindPython: Add tests for IronPython v3

This commit is contained in:
Marc Chevrier
2023-06-29 15:11:12 +02:00
parent c24be2ffe7
commit 9b45210b05
4 changed files with 154 additions and 28 deletions
+117 -24
View File
@@ -557,21 +557,21 @@ if(CMake_TEST_FindPython3_Conda)
endif()
if (CMake_TEST_FindPython2 AND CMake_TEST_FindPython2_IronPython)
add_test(NAME FindPython.Implementation.CPython COMMAND
add_test(NAME FindPython.Implementation.CPython2 COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/Implementation"
"${CMake_BINARY_DIR}/Tests/FindPython/Implementation.CPython"
"${CMake_BINARY_DIR}/Tests/FindPython/Implementation.CPython2"
${build_generator_args}
--build-project TestImplementationCPython
--build-options ${build_options} -DPython_REQUESTED_VERSION=2 -DPython_REQUESTED_IMPLEMENTATIONS=CPython
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Implementation.IronPython COMMAND
add_test(NAME FindPython.Implementation.IronPython2 COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/Implementation"
"${CMake_BINARY_DIR}/Tests/FindPython/Implementation.IronPython"
"${CMake_BINARY_DIR}/Tests/FindPython/Implementation.IronPython2"
${build_generator_args}
--build-project TestImplementationIronPython
--build-options ${build_options} -DPython_REQUESTED_VERSION=2 -DPython_REQUESTED_IMPLEMENTATION=IronPython
@@ -579,6 +579,29 @@ if (CMake_TEST_FindPython2 AND CMake_TEST_FindPython2_IronPython)
)
endif()
if (CMake_TEST_FindPython3 AND CMake_TEST_FindPython3_IronPython)
add_test(NAME FindPython.Implementation.CPython3 COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/Implementation"
"${CMake_BINARY_DIR}/Tests/FindPython/Implementation.CPython3"
${build_generator_args}
--build-project TestImplementationCPython
--build-options ${build_options} -DPython_REQUESTED_VERSION=3 -DPython_REQUESTED_IMPLEMENTATIONS=CPython
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.Implementation.IronPython3 COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/Implementation"
"${CMake_BINARY_DIR}/Tests/FindPython/Implementation.IronPython3"
${build_generator_args}
--build-project TestImplementationIronPython
--build-options ${build_options} -DPython_REQUESTED_VERSION=3 -DPython_REQUESTED_IMPLEMENTATION=IronPython
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endif()
if(CMake_TEST_FindPython2_IronPython)
add_test(NAME FindPython.IronPython2.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
@@ -601,26 +624,6 @@ if(CMake_TEST_FindPython2_IronPython)
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython.LOCATION"
${build_generator_args}
--build-project TestIronPython
--build-options ${build_options} -DPython_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython.VERSION"
${build_generator_args}
--build-project TestIronPython
--build-options ${build_options} -DPython_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython.V2.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
@@ -666,6 +669,96 @@ if(CMake_TEST_FindPython2_IronPython)
)
endif()
if(CMake_TEST_FindPython3_IronPython)
add_test(NAME FindPython.IronPython3.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython3"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython3.LOCATION"
${build_generator_args}
--build-project TestIronPython3
--build-options ${build_options} -DPython3_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython3.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython3"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython3.VERSION"
${build_generator_args}
--build-project TestIronPython3
--build-options ${build_options} -DPython3_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython.V3.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython.V3.LOCATION"
${build_generator_args}
--build-project TestIronPython
--build-options ${build_options} -DPython_REQUESTED_VERSION=3 -DPython_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython.V3.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython.V3.VERSION"
${build_generator_args}
--build-project TestIronPython
--build-options ${build_options} -DPython_REQUESTED_VERSION=3 -DPython_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython3.VersionRange.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/VersionRange"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython3.VersionRange.LOCATION"
${build_generator_args}
--build-project TestVersionRange
--build-options ${build_options} -DPython=Python3 -DPython_REQUESTED_VERSION=3
-DPython3_FIND_IMPLEMENTATIONS=IronPython
-DPython3_FIND_STRATEGY=LOCATION
)
add_test(NAME FindPython.IronPython3.VersionRange.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/VersionRange"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython3.VersionRange.VERSION"
${build_generator_args}
--build-project TestVersionRange
--build-options ${build_options} -DPython=Python3 -DPython_REQUESTED_VERSION=3
-DPython3_FIND_IMPLEMENTATIONS=IronPython
-DPython3_FIND_STRATEGY=VERSION
)
endif()
if(CMake_TEST_FindPython2_IronPython OR CMake_TEST_FindPython3_IronPython)
add_test(NAME FindPython.IronPython.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython.LOCATION"
${build_generator_args}
--build-project TestIronPython
--build-options ${build_options} -DPython_FIND_STRATEGY=LOCATION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME FindPython.IronPython.VERSION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
"${CMake_BINARY_DIR}/Tests/FindPython/IronPython.VERSION"
${build_generator_args}
--build-project TestIronPython
--build-options ${build_options} -DPython_FIND_STRATEGY=VERSION
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endif()
if(CMake_TEST_FindPython2_PyPy)
add_test(NAME FindPython.PyPy2.LOCATION COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
@@ -0,0 +1,31 @@
cmake_minimum_required(VERSION 3.5)
project(TestIronPython3 LANGUAGES NONE)
set (Python3_FIND_IMPLEMENTATIONS "IronPython")
find_package(Python3 COMPONENTS Interpreter Compiler)
if (NOT Python3_FOUND)
message (FATAL_ERROR "Failed to find Python 3")
endif()
if (NOT Python3_Interpreter_FOUND)
message (FATAL_ERROR "Failed to find Python 3 Interpreter")
endif()
if (NOT Python3_INTERPRETER_ID STREQUAL "IronPython")
message (FATAL_ERROR "Erroneous interpreter ID (${Python3_INTERPRETER_ID})")
endif()
if (NOT Python3_Compiler_FOUND)
message (FATAL_ERROR "Failed to find Python 3 Compiler")
endif()
if (NOT Python3_COMPILER_ID STREQUAL "IronPython")
message (FATAL_ERROR "Erroneous compiler ID (${Python3_COMPILER_ID})")
endif()
if(NOT TARGET Python3::Interpreter)
message(SEND_ERROR "Python3::Interpreter not found")
endif()
if(NOT TARGET Python3::Compiler)
message(SEND_ERROR "Python3::Compiler not found")
endif()