X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeCommon%2FUnitTest.cmake;h=147f2529669160e85dd8080d4459ce51d193d184;hb=aba714fbb23139b15272ed816c9a30595165106c;hp=c683f26fbab177d65afa226ba0f1999bcd4cbf95;hpb=0d17594aeefcd7574faa852239172b4d86edf16f;p=modules%2Fshaper.git diff --git a/CMakeCommon/UnitTest.cmake b/CMakeCommon/UnitTest.cmake index c683f26fb..147f25296 100644 --- a/CMakeCommon/UnitTest.cmake +++ b/CMakeCommon/UnitTest.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2020 CEA/DEN, EDF R&D +# Copyright (C) 2014-2021 CEA/DEN, EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -42,18 +42,8 @@ ENABLE_TESTING() -MACRO(ADD_UNIT_TESTS) - if (WIN32) # different separators and path to libraries variable name - SET(_JUSTPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_BIN};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES};${SUIT_LIB_DIR};${SALOME_KERNEL_LIBDIR};$ENV{PATH}") - STRING(REPLACE "\\" "/" _JUSTPATH "${_JUSTPATH}") - STRING(REPLACE ";" "\\;" _JUSTPATH "${_JUSTPATH}") - SET(_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_ADDONS};$ENV{PYTHONPATH}") - STRING(REPLACE "\\" "/" _PYTHONPATH "${_PYTHONPATH}") - STRING(REPLACE ";" "\\;" _PYTHONPATH "${_PYTHONPATH}") - else() - SET(_LD_LIBRARY_PATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_BIN}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES}:${SUIT_LIB_DIR}:${SALOME_KERNEL_LIBDIR}:$ENV{LD_LIBRARY_PATH}") - SET(_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_ADDONS}:$ENV{PYTHONPATH}") - endif() +function(GENERATE_TESTS PATH testdir TESTS) + SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) foreach(eachFileName ${ARGN}) # Strip the ".py" suffix @@ -64,66 +54,41 @@ MACRO(ADD_UNIT_TESTS) SET(aTestName "${aSubprojectName}_${aTestName}") # Full path to the python test file beeing executed - SET(aTestFileName "${CMAKE_CURRENT_SOURCE_DIR}/Test/${eachFileName}") + SET(aTestFileName "${testdir}/${eachFileName}") + IF(NOT EXISTS ${aTestFileName}) + SET(aTestFileName "${testdir}/Test/${eachFileName}") + ENDIF(NOT EXISTS ${aTestFileName}) IF(EXISTS ${aTestFileName}) ADD_TEST(NAME ${aTestName} COMMAND ${PYTHON_EXECUTABLE} ${aTestFileName}) - if (WIN32) # different path to libraries variable name - SET_TESTS_PROPERTIES(${aTestName} PROPERTIES - ENVIRONMENT "PATH=${_JUSTPATH};PYTHONPATH=${_PYTHONPATH}" + SET_TESTS_PROPERTIES(${aTestName} PROPERTIES + ENVIRONMENT "${tests_env};SHAPER_UNIT_TEST_IN_PROGRESS=1" LABELS "${aSubprojectName}") - else() - SET_TESTS_PROPERTIES(${aTestName} PROPERTIES - ENVIRONMENT "LD_LIBRARY_PATH=${_LD_LIBRARY_PATH};PYTHONPATH=${_PYTHONPATH}" - LABELS "${aSubprojectName}") - endif() # Debug output... #MESSAGE(STATUS "Test added: ${aTestName} file: ${aTestFileName}") ELSE(EXISTS ${aTestFileName}) - MESSAGE(WARNING "Can not find the test file: ${aTestFileName}") + MESSAGE(WARNING "Can not find the test file: ${eachFileName}") + MESSAGE(STATUS "Search paths are: ${testdir}") + MESSAGE(STATUS " ${testdir}/Test") ENDIF(EXISTS ${aTestFileName}) endforeach(eachFileName ${ARGN}) -ENDMACRO(ADD_UNIT_TESTS) +endfunction(GENERATE_TESTS) -MACRO(ADD_UNIT_TESTS_API) - if (WIN32) # different separators and path to libraries variable name - SET(_JUSTPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_BIN};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES};${SUIT_LIB_DIR};${SALOME_KERNEL_LIBDIR};$ENV{PATH}") - STRING(REPLACE "\\" "/" _JUSTPATH "${_JUSTPATH}") - STRING(REPLACE ";" "\\;" _JUSTPATH "${_JUSTPATH}") - SET(_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES};${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_ADDONS};$ENV{PYTHONPATH}") - STRING(REPLACE "\\" "/" _PYTHONPATH "${_PYTHONPATH}") - STRING(REPLACE ";" "\\;" _PYTHONPATH "${_PYTHONPATH}") - else() - SET(_LD_LIBRARY_PATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_BIN}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES}:${SUIT_LIB_DIR}:${SALOME_KERNEL_LIBDIR}:$ENV{LD_LIBRARY_PATH}") - SET(_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_SWIG}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_PLUGIN_FILES}:${CMAKE_INSTALL_PREFIX}/${SHAPER_INSTALL_ADDONS}:$ENV{PYTHONPATH}") - endif() +function(ADD_UNIT_TESTS) + GENERATE_TESTS(PATH "${CMAKE_CURRENT_SOURCE_DIR}" TESTS ${ARGN}) +endfunction(ADD_UNIT_TESTS) - foreach(eachFileName ${ARGN}) - # Strip the ".py" suffix - GET_FILENAME_COMPONENT(aTestName ${eachFileName} NAME_WE) +function(ADD_UNIT_TESTS_API) + GENERATE_TESTS(PATH "${CMAKE_CURRENT_SOURCE_DIR}" TESTS ${ARGN}) +endfunction(ADD_UNIT_TESTS_API) - # Add "SubprojectName_" prefix - GET_FILENAME_COMPONENT(aSubprojectName ${CMAKE_CURRENT_SOURCE_DIR} NAME) - SET(aTestName "${aSubprojectName}_${aTestName}") - # Full path to the python test file beeing executed - SET(aTestFileName "${CMAKE_CURRENT_SOURCE_DIR}/${eachFileName}") - IF(EXISTS ${aTestFileName}) - ADD_TEST(NAME ${aTestName} - COMMAND ${PYTHON_EXECUTABLE} ${aTestFileName}) - if (WIN32) # different path to libraries variable name - SET_TESTS_PROPERTIES(${aTestName} PROPERTIES - ENVIRONMENT "PATH=${_JUSTPATH};PYTHONPATH=${_PYTHONPATH}" - LABELS "${aSubprojectName}") - else() - SET_TESTS_PROPERTIES(${aTestName} PROPERTIES - ENVIRONMENT "LD_LIBRARY_PATH=${_LD_LIBRARY_PATH};PYTHONPATH=${_PYTHONPATH}" - LABELS "${aSubprojectName}") - endif() - # Debug output... - #MESSAGE(STATUS "Test added: ${aTestName} file: ${aTestFileName}") - ELSE(EXISTS ${aTestFileName}) - MESSAGE(WARNING "Can not find the test file: ${aTestFileName}") - ENDIF(EXISTS ${aTestFileName}) - endforeach(eachFileName ${ARGN}) -ENDMACRO(ADD_UNIT_TESTS_API) +function(ADD_RESTRICTED_TESTS) + SET(RESTRICTED_ROOT_DIR $ENV{RESTRICTED_ROOT_DIR} CACHE PATH "Path to the restricted repository") + + if (EXISTS ${RESTRICTED_ROOT_DIR}) + GENERATE_TESTS(PATH "${RESTRICTED_ROOT_DIR}/SHAPER/bugs" TESTS ${ARGN}) + else() + message(WARNING "RESTRICTED_ROOT_DIR is not specified to run restricted tests") + endif() +endfunction(ADD_RESTRICTED_TESTS)