Private
Public Access
2
0

tests: add USEPYTHON3TESTS to explicitly use python3 for tests

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll
2017-06-13 16:33:47 +02:00
parent 09f8b3ac7b
commit e1778c811d
4 changed files with 13 additions and 5 deletions

View File

@@ -140,6 +140,7 @@ option (ENABLEEXAMPLES "Disable building of examples" ON)
option (INSTALLGPIOTOOL "Install gpio tool" OFF) option (INSTALLGPIOTOOL "Install gpio tool" OFF)
option (INSTALLTOOLS "Install all tools" ON) option (INSTALLTOOLS "Install all tools" ON)
option (BUILDTESTS "Override the addition of tests" ON) option (BUILDTESTS "Override the addition of tests" ON)
option (USEPYTHON3TESTS "Force tests to run with python3" OFF)
set (BUILDARCH "" CACHE STRING "Override architecture to build for") set (BUILDARCH "" CACHE STRING "Override architecture to build for")

View File

@@ -50,6 +50,7 @@ ARG BUILDTESTS
ARG CC ARG CC
ARG CXX ARG CXX
ARG NODE_VERSION ARG NODE_VERSION
ARG USEPYTHON3TESTS
# Configure Build Environment # Configure Build Environment
ENV NVM_DIR /root/.nvm ENV NVM_DIR /root/.nvm
@@ -95,6 +96,7 @@ RUN . $NVM_DIR/nvm.sh && cmake \
-DINSTALLGPIOTOOL=$INSTALLGPIOTOOL \ -DINSTALLGPIOTOOL=$INSTALLGPIOTOOL \
-DINSTALLTOOLS=$INSTALLTOOLS \ -DINSTALLTOOLS=$INSTALLTOOLS \
-DBUILDTESTS=$BUILDTESTS \ -DBUILDTESTS=$BUILDTESTS \
-DUSEPYTHON3TESTS=$USEPYTHON3TESTS \
.. ..
CMD make CMD make

View File

@@ -53,6 +53,9 @@ services:
python3: python3:
extends: python2 extends: python2
build:
args:
- USEPYTHON3TESTS=ON
command: bash -c "make _python3-mraa && ctest --output-on-failure" command: bash -c "make _python3-mraa && ctest --output-on-failure"
java: java:

View File

@@ -9,12 +9,14 @@ if (PYTHON2INTERP_FOUND AND BUILDSWIGJAVA)
endif () endif ()
if (BUILDSWIGPYTHON) if (BUILDSWIGPYTHON)
if (PYTHON2INTERP_FOUND) if (PYTHON2INTERP_FOUND AND EXISTS "${CMAKE_BINARY_DIR}/src/python/python2" AND NOT USEPYTHON3TESTS)
set (PYTHON_DEFAULT_PYTHONPATH "${CMAKE_BINARY_DIR}/src/python/python2") set (PYTHON_DEFAULT_PYTHONPATH "${CMAKE_BINARY_DIR}/src/python/python2")
set (PYTHON_DEFAULT_INTERP "${PYTHON2_EXECUTABLE}") set (PYTHON_DEFAULT_INTERP "${PYTHON2_EXECUTABLE}")
elseif (PYTHON3INTERP_FOUND) elseif (PYTHON3INTERP_FOUND AND EXISTS "${CMAKE_BINARY_DIR}/src/python/python3")
set (PYTHON_DEFAULT_PYTHONPATH "${CMAKE_BINARY_DIR}/src/python/python3") set (PYTHON_DEFAULT_PYTHONPATH "${CMAKE_BINARY_DIR}/src/python/python3")
set (PYTHON_DEFAULT_INTERP "${PYTHON3_EXECUTABLE}") set (PYTHON_DEFAULT_INTERP "${PYTHON3_EXECUTABLE}")
elseif (USEPYTHON3TESTS)
message (FATAL "Failed to find python3{,-dev} but forced python3 tests")
endif () endif ()
if (DEFINED PYTHON_DEFAULT_INTERP) if (DEFINED PYTHON_DEFAULT_INTERP)
@@ -22,13 +24,13 @@ if (BUILDSWIGPYTHON)
add_subdirectory (mock) add_subdirectory (mock)
else () else ()
add_test (NAME py_general COMMAND ${PYTHON_DEFAULT_INTERP} ${CMAKE_CURRENT_SOURCE_DIR}/general_checks.py) add_test (NAME py_general COMMAND ${PYTHON_DEFAULT_INTERP} ${CMAKE_CURRENT_SOURCE_DIR}/general_checks.py)
set_tests_properties(py_general PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHON_DEFAULT_PYTHONPATH}") set_tests_properties (py_general PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHON_DEFAULT_PYTHONPATH}")
add_test (NAME py_platform COMMAND ${PYTHON_DEFAULT_INTERP} ${CMAKE_CURRENT_SOURCE_DIR}/platform_checks.py) add_test (NAME py_platform COMMAND ${PYTHON_DEFAULT_INTERP} ${CMAKE_CURRENT_SOURCE_DIR}/platform_checks.py)
set_tests_properties(py_platform PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHON_DEFAULT_PYTHONPATH}") set_tests_properties (py_platform PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHON_DEFAULT_PYTHONPATH}")
add_test (NAME py_gpio COMMAND ${PYTHON_DEFAULT_INTERP} ${CMAKE_CURRENT_SOURCE_DIR}/gpio_checks.py) add_test (NAME py_gpio COMMAND ${PYTHON_DEFAULT_INTERP} ${CMAKE_CURRENT_SOURCE_DIR}/gpio_checks.py)
set_tests_properties(py_gpio PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHON_DEFAULT_PYTHONPATH}") set_tests_properties (py_gpio PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHON_DEFAULT_PYTHONPATH}")
endif () endif ()
else () else ()
message (STATUS "Could not run tests since python interpreter or python bindings not built") message (STATUS "Could not run tests since python interpreter or python bindings not built")