Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / test / CMakeLists.txt
1 # Copyright (C) 2007-2022  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License, or (at your option) any later version.
10 #
11 # This library is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # Lesser General Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this library; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 #
20 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #
22
23 INCLUDE(tests.set)
24
25 SET(RESTRICTED_ROOT_DIR $ENV{RESTRICTED_ROOT_DIR} CACHE PATH "Path to the restricted repository")
26 SET(TEST_INSTALL_DIRECTORY ${SMESH_TEST_DIR}/other)
27
28 # Install 'salome test' staff
29 # ---------------------------
30
31 SALOME_CONFIGURE_FILE(CTestTestfileInstall.cmake
32                       ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CTestTestfile.cmake
33                       INSTALL ${TEST_INSTALL_DIRECTORY})
34 INSTALL(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY})
35 INSTALL(FILES ${GOOD_TESTS} ${BAD_TESTS} ${SESSION_FREE_TESTS} ${OTHER_FILES} DESTINATION ${TEST_INSTALL_DIRECTORY})
36 INSTALL(DIRECTORY data DESTINATION ${TEST_INSTALL_DIRECTORY})
37
38 # Add tests for 'make test'
39 # -------------------------
40
41 SALOME_GENERATE_TESTS_ENVIRONMENT(_test_env)
42
43 # 1. Tests from here
44 # ------------------
45
46 FOREACH(_test ${GOOD_TESTS})
47   GET_FILENAME_COMPONENT(testname ${_test} NAME_WE)
48   ADD_TEST(NAME ${testname}
49            COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/test/test_helper.py ${CMAKE_CURRENT_SOURCE_DIR}/${_test})
50   SET_TESTS_PROPERTIES(${testname} PROPERTIES ENVIRONMENT "${tests_env}" LABELS "tests")
51 ENDFOREACH()
52
53 # 2. Tests from RESTRICTED repository
54 # -----------------------------------
55
56 IF(WITH_SHAPER_STUDY AND EXISTS ${RESTRICTED_ROOT_DIR})
57   FILE(GLOB _restricted_tests "${RESTRICTED_ROOT_DIR}/SMESH/*.py")
58   FOREACH(_test ${_restricted_tests})
59     GET_FILENAME_COMPONENT(_test_name ${_test} NAME_WE)
60     ADD_TEST(NAME ${_test_name}
61              COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/test/test_helper.py ${_test})
62     SET_TESTS_PROPERTIES(${_test_name} PROPERTIES ENVIRONMENT "${_test_env}" LABELS "restricted")
63   ENDFOREACH()
64 ELSE()
65   MESSAGE(WARNING "Tests from RESTRICTED repository aren't available")
66 ENDIF()