mirror of
https://github.com/eclipse/upm.git
synced 2025-03-14 20:47:30 +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})
|
||||
endif ()
|
||||
|
||||
# Python is required for swig generated python and for UPM tests
|
||||
# UPM build can generated modules for both python2 AND python3
|
||||
# Python is required for swig generated python and for UPM tests.
|
||||
# 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
|
||||
if (BUILDSWIGPYTHON OR BUILDTESTS)
|
||||
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)
|
||||
|
||||
# Which versions of python were found?
|
||||
|
@ -442,7 +442,7 @@ endmacro(upm_module_init)
|
||||
if (BUILDDOC AND BUILDSWIGPYTHON)
|
||||
# doxy2swig the doxygen output
|
||||
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_CURRENT_BINARY_DIR}/pyupm_doxy2swig.i
|
||||
DEPENDS doc)
|
||||
|
@ -1,55 +1,65 @@
|
||||
add_test (NAME check_consistency COMMAND ${PYTHON_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_consistency.py
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
# Add some general tests (which use python2)...
|
||||
if (PYTHON_DEFAULT_AVAILABLE)
|
||||
# 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
|
||||
if (PYTHON2INTERP_FOUND)
|
||||
add_test (NAME check_file_encoding COMMAND ${PYTHON_EXECUTABLE}
|
||||
# Check file encodings in src tree
|
||||
add_test (NAME check_file_encoding COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_file_encoding.py
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src)
|
||||
endif (PYTHON2INTERP_FOUND)
|
||||
endif (PYTHON_DEFAULT_AVAILABLE)
|
||||
|
||||
if (BUILDSWIGJAVA)
|
||||
add_test (NAME check_autoloadlibrary COMMAND ${PYTHON_EXECUTABLE}
|
||||
# Add some java tests
|
||||
if (BUILDSWIGJAVA AND PYTHON_DEFAULT_AVAILABLE)
|
||||
add_test (NAME check_autoloadlibrary COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_autoloadlibrary.py
|
||||
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
|
||||
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
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif ()
|
||||
endif (BUILDSWIGJAVA AND PYTHON_DEFAULT_AVAILABLE)
|
||||
|
||||
if (BUILDSWIGNODE)
|
||||
add_test (NAME check_examplenames_js COMMAND ${PYTHON_EXECUTABLE}
|
||||
# Add a node test
|
||||
if (BUILDSWIGNODE AND PYTHON_DEFAULT_AVAILABLE)
|
||||
add_test (NAME check_examplenames_js COMMAND ${PYTHON_DEFAULT_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_examplenames.py js
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif (BUILDSWIGNODE)
|
||||
endif (BUILDSWIGNODE AND PYTHON_DEFAULT_AVAILABLE)
|
||||
|
||||
if (BUILDSWIGPYTHON)
|
||||
add_test (NAME check_examplenames_python COMMAND ${PYTHON_EXECUTABLE}
|
||||
# Add a python test
|
||||
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
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif (BUILDSWIGPYTHON AND PYTHON_DEFAULT_AVAILABLE)
|
||||
|
||||
if (PYTHON2INTERP_FOUND)
|
||||
add_test (NAME check_load_modules_python2 COMMAND ${PYTHON2_EXECUTABLE}
|
||||
${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 some python2 tests
|
||||
if (BUILDSWIGPYTHON AND PYTHON2INTERP_FOUND)
|
||||
# Test load python2 modules
|
||||
add_test (NAME check_load_modules_python2 COMMAND ${PYTHON2_EXECUTABLE}
|
||||
${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}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
||||
${CMAKE_SOURCE_DIR}/examples/python/*.py
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
||||
endif (PYTHON2INTERP_FOUND)
|
||||
# Test load examples w/python2
|
||||
add_test (NAME check_load_examples_python2 COMMAND ${PYTHON2_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
||||
${CMAKE_SOURCE_DIR}/examples/python/*.py
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
||||
endif (BUILDSWIGPYTHON AND PYTHON2INTERP_FOUND)
|
||||
|
||||
if (PYTHON3INTERP_FOUND)
|
||||
add_test (NAME check_load_modules_python3 COMMAND ${PYTHON3_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
||||
${CMAKE_BINARY_DIR}/src/*/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}/*.py
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
||||
endif (PYTHON3INTERP_FOUND)
|
||||
endif (BUILDSWIGPYTHON)
|
||||
# Add a python3 test
|
||||
if (BUILDSWIGPYTHON AND PYTHON3INTERP_FOUND)
|
||||
add_test (NAME check_load_modules_python3 COMMAND ${PYTHON3_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/check_pythonload.py
|
||||
${CMAKE_BINARY_DIR}/src/*/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}/*.py
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/)
|
||||
endif (BUILDSWIGPYTHON AND PYTHON3INTERP_FOUND)
|
||||
|
Loading…
x
Reference in New Issue
Block a user