mirror of
https://github.com/eclipse/upm.git
synced 2025-03-24 09:20:39 +03:00
tests: Switch from PYTHON_EXECUTABLE to PYTHON_DEFAULT_EXECUTABLE
The DetectPython cmake script now outputs a default python executable. Updated other cmake scripts to use this concept. Used default where python2/3 will work, use explicit PYTHON2/3_EXECUTABLE where an explicit version is needed. Also, fail if python is required and NO version of python was found. Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
parent
edd8df4c50
commit
c6610bdf46
@ -54,11 +54,23 @@ if (BUILDSWIGPYTHON OR BUILDSWIGNODE OR BUILDSWIGJAVA)
|
|||||||
include (${SWIG_USE_FILE})
|
include (${SWIG_USE_FILE})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Python is required for swig generated python and for UPM tests
|
# Python is required for swig generated python and for UPM tests.
|
||||||
# UPM build can generated modules for both python2 AND python3
|
# The UPM build can generated modules for both python2 AND python3
|
||||||
|
# with the corresponding PYTHONLIBS. Currently, BUILDTESTS has a
|
||||||
|
# hard dependency on the PYTHON2INTERP.
|
||||||
# OpenCV python detect will attempt to find python2/3
|
# OpenCV python detect will attempt to find python2/3
|
||||||
if (BUILDSWIGPYTHON OR BUILDTESTS)
|
if (BUILDSWIGPYTHON OR BUILDTESTS)
|
||||||
include (cmake/modules/OpenCVDetectPython.cmake)
|
include (cmake/modules/OpenCVDetectPython.cmake)
|
||||||
|
|
||||||
|
# Fail if building tests but no python interpreter was found
|
||||||
|
if (BUILDTESTS AND NOT PYTHON2INTERP_FOUND)
|
||||||
|
message(FATAL_ERROR "BUILDTESTS=ON requires the python2 interpreter")
|
||||||
|
endif (BUILDTESTS AND NOT PYTHON2INTERP_FOUND)
|
||||||
|
|
||||||
|
# Fail if no LIBS were found
|
||||||
|
if (NOT PYTHON2LIBS_FOUND AND NOT PYTHON3LIBS_FOUND)
|
||||||
|
message(FATAL_ERROR "At least one python lib is required")
|
||||||
|
endif (NOT PYTHON2LIBS_FOUND AND NOT PYTHON3LIBS_FOUND)
|
||||||
endif (BUILDSWIGPYTHON OR BUILDTESTS)
|
endif (BUILDSWIGPYTHON OR BUILDTESTS)
|
||||||
|
|
||||||
# Which versions of python were found?
|
# Which versions of python were found?
|
||||||
|
@ -442,7 +442,7 @@ endmacro(upm_module_init)
|
|||||||
if (BUILDDOC AND BUILDSWIGPYTHON)
|
if (BUILDDOC AND BUILDSWIGPYTHON)
|
||||||
# doxy2swig the doxygen output
|
# doxy2swig the doxygen output
|
||||||
add_custom_target (pyupm_doxy2swig ALL
|
add_custom_target (pyupm_doxy2swig ALL
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py
|
COMMAND ${PYTHON2_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py
|
||||||
${CMAKE_BINARY_DIR}/xml/index.xml
|
${CMAKE_BINARY_DIR}/xml/index.xml
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/pyupm_doxy2swig.i
|
${CMAKE_CURRENT_BINARY_DIR}/pyupm_doxy2swig.i
|
||||||
DEPENDS doc)
|
DEPENDS doc)
|
||||||
|
@ -1,55 +1,65 @@
|
|||||||
add_test (NAME check_consistency COMMAND ${PYTHON_EXECUTABLE}
|
# Add some general tests (which use python2)...
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_consistency.py
|
if (PYTHON_DEFAULT_AVAILABLE)
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
# Consistency check
|
||||||
|
add_test (NAME check_consistency COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/check_consistency.py
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# Check file encodings in src tree
|
# Check file encodings in src tree
|
||||||
if (PYTHON2INTERP_FOUND)
|
add_test (NAME check_file_encoding COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||||
add_test (NAME check_file_encoding COMMAND ${PYTHON_EXECUTABLE}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_file_encoding.py
|
${CMAKE_CURRENT_SOURCE_DIR}/check_file_encoding.py
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src)
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src)
|
||||||
endif (PYTHON2INTERP_FOUND)
|
endif (PYTHON_DEFAULT_AVAILABLE)
|
||||||
|
|
||||||
if (BUILDSWIGJAVA)
|
# Add some java tests
|
||||||
add_test (NAME check_autoloadlibrary COMMAND ${PYTHON_EXECUTABLE}
|
if (BUILDSWIGJAVA AND PYTHON_DEFAULT_AVAILABLE)
|
||||||
|
add_test (NAME check_autoloadlibrary COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_autoloadlibrary.py
|
${CMAKE_CURRENT_SOURCE_DIR}/check_autoloadlibrary.py
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
add_test (NAME check_examplenames_java COMMAND ${PYTHON_EXECUTABLE}
|
add_test (NAME check_examplenames_java COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_examplenames.py java
|
${CMAKE_CURRENT_SOURCE_DIR}/check_examplenames.py java
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
add_test (NAME check_clean COMMAND ${PYTHON_EXECUTABLE}
|
add_test (NAME check_clean COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_clean.py
|
${CMAKE_CURRENT_SOURCE_DIR}/check_clean.py
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
endif ()
|
endif (BUILDSWIGJAVA AND PYTHON_DEFAULT_AVAILABLE)
|
||||||
|
|
||||||
if (BUILDSWIGNODE)
|
# Add a node test
|
||||||
add_test (NAME check_examplenames_js COMMAND ${PYTHON_EXECUTABLE}
|
if (BUILDSWIGNODE AND PYTHON_DEFAULT_AVAILABLE)
|
||||||
|
add_test (NAME check_examplenames_js COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_examplenames.py js
|
${CMAKE_CURRENT_SOURCE_DIR}/check_examplenames.py js
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
endif (BUILDSWIGNODE)
|
endif (BUILDSWIGNODE AND PYTHON_DEFAULT_AVAILABLE)
|
||||||
|
|
||||||
if (BUILDSWIGPYTHON)
|
# Add a python test
|
||||||
add_test (NAME check_examplenames_python COMMAND ${PYTHON_EXECUTABLE}
|
if (BUILDSWIGPYTHON AND PYTHON_DEFAULT_AVAILABLE)
|
||||||
|
# Check python examples against cxx examples
|
||||||
|
add_test (NAME check_examplenames_python COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_examplenames.py python
|
${CMAKE_CURRENT_SOURCE_DIR}/check_examplenames.py python
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
endif (BUILDSWIGPYTHON AND PYTHON_DEFAULT_AVAILABLE)
|
||||||
|
|
||||||
if (PYTHON2INTERP_FOUND)
|
# Add some python2 tests
|
||||||
add_test (NAME check_load_modules_python2 COMMAND ${PYTHON2_EXECUTABLE}
|
if (BUILDSWIGPYTHON AND PYTHON2INTERP_FOUND)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
# Test load python2 modules
|
||||||
${CMAKE_BINARY_DIR}/src/*/python${PYTHON2_VERSION_MAJOR}.${PYTHON2_VERSION_MINOR}/*.py
|
add_test (NAME check_load_modules_python2 COMMAND ${PYTHON2_EXECUTABLE}
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
||||||
|
${CMAKE_BINARY_DIR}/src/*/python${PYTHON2_VERSION_MAJOR}.${PYTHON2_VERSION_MINOR}/*.py
|
||||||
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
||||||
|
|
||||||
add_test (NAME check_load_examples_python2 COMMAND ${PYTHON2_EXECUTABLE}
|
# Test load examples w/python2
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
add_test (NAME check_load_examples_python2 COMMAND ${PYTHON2_EXECUTABLE}
|
||||||
${CMAKE_SOURCE_DIR}/examples/python/*.py
|
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
${CMAKE_SOURCE_DIR}/examples/python/*.py
|
||||||
endif (PYTHON2INTERP_FOUND)
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
||||||
|
endif (BUILDSWIGPYTHON AND PYTHON2INTERP_FOUND)
|
||||||
|
|
||||||
if (PYTHON3INTERP_FOUND)
|
# Add a python3 test
|
||||||
add_test (NAME check_load_modules_python3 COMMAND ${PYTHON3_EXECUTABLE}
|
if (BUILDSWIGPYTHON AND PYTHON3INTERP_FOUND)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
add_test (NAME check_load_modules_python3 COMMAND ${PYTHON3_EXECUTABLE}
|
||||||
${CMAKE_BINARY_DIR}/src/*/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}/*.py
|
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
${CMAKE_BINARY_DIR}/src/*/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}/*.py
|
||||||
endif (PYTHON3INTERP_FOUND)
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
||||||
endif (BUILDSWIGPYTHON)
|
endif (BUILDSWIGPYTHON AND PYTHON3INTERP_FOUND)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user