Salome HOME
Copyright update 2022
[modules/med.git] / src / MEDCalc / test / gui / baselines / CMakeLists.txt
1 # Copyright (C) 2010-2022  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 SET(TEST_NUMBERS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)
21
22 SET(TEST_INSTALL_DIRECTORY ${SALOME_INSTALL_SCRIPT_SCRIPTS}/test/MEDReader)
23 SET(BASELINES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Baselines")
24
25 IF(KW_TESTING_PLATFORM)
26
27 cmake_minimum_required(VERSION 2.7)
28
29 find_package(ParaView REQUIRED)
30 include(${PARAVIEW_USE_FILE})
31
32 include(ParaViewTestingMacros)
33 include(FindPythonModules)
34
35 include(${PROJECT_SOURCE_DIR}/testing/testFunctions.cmake)
36 set(PV_PLUGIN_PATH "${CMAKE_BINARY_DIR}/lib/")
37
38 include(CTest)
39
40 enable_testing()
41
42 set(PARAVIEW_BIN_DIR "${ParaView_DIR}/bin" CACHE PATH "ParaView binary path")
43
44 set(PVTEST_DRIVER "${PARAVIEW_BIN_DIR}/smTestDriver")
45 set(PARAVIEW_CLIENT "${PARAVIEW_BIN_DIR}/paraview")
46 set(PARAVIEW_SERVER "${PARAVIEW_BIN_DIR}/pvserver")
47 set(PVPYTHON "${PARAVIEW_BIN_DIR}/pvpython")
48
49 set(PYTHON_SCRIPTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
50 set(TEMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary")
51
52 if(NOT EXISTS ${TEMP_DIR})
53   file(MAKE_DIRECTORY ${TEMP_DIR})
54 endif()
55
56 # Override vtk_add_test_* variables for use with ParaView.
57 macro (_myy_override_vtk_dirs)
58   set(VTK_TEST_DATA_DIR    ${PYTHON_SCRIPTS_DIR})
59   set(VTK_BASELINE_DIR     ${BASELINES_DIR})
60   set(VTK_TEST_OUTPUT_DIR  ${TEMP_DIR})
61   set(VTK_TEST_DATA_TARGET ParaViewData)
62 endmacro ()
63
64 function (myy_add_python_test)
65   message(STATUS "Add Python test for ${ARGV2}")
66   set(VTK_PYTHON_EXE "${PVPYTHON}")
67   list(APPEND VTK_PYTHON_ARGS -dr
68     ${PARAVIEW_PYTHON_ARGS})
69   _myy_override_vtk_dirs()
70   myvtk_add_test_python(${ARGN})
71 endfunction ()
72
73 # Test all python scripts
74 file(GLOB scripts "${PYTHON_SCRIPTS_DIR}/*py")
75 foreach(file ${scripts})
76   get_filename_component(fname ${file} NAME)
77   myy_add_python_test(
78     NO_DATA NO_RT
79     ${fname})
80   INSTALL(FILES ${file}
81           DESTINATION ${TEST_INSTALL_DIRECTORY})
82 endforeach()
83
84 ELSE(KW_TESTING_PLATFORM)
85
86 SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
87
88 FOREACH(tfile ${TEST_NUMBERS})
89   ADD_TEST(testMEDReader${tfile} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/testMEDReader${tfile}.py -B ${BASELINES_DIR} )
90   SET_TESTS_PROPERTIES(testMEDReader${tfile} PROPERTIES ENVIRONMENT "${tests_env}")
91 ENDFOREACH()
92
93 ENDIF(KW_TESTING_PLATFORM)
94
95
96 # Application tests
97 FOREACH(tfile ${TEST_NUMBERS})
98   INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/testMEDReader${tfile}.py
99           DESTINATION ${TEST_INSTALL_DIRECTORY})
100 ENDFOREACH()
101
102 FILE(GLOB BASELINE_FILES "${BASELINES_DIR}/*")
103 FOREACH(baseline_file ${BASELINE_FILES})
104   INSTALL(FILES ${baseline_file} DESTINATION ${TEST_INSTALL_DIRECTORY}/Baselines)
105 ENDFOREACH()
106
107 INSTALL(FILES CTestTestfileInstall.cmake
108         DESTINATION ${TEST_INSTALL_DIRECTORY}
109         RENAME CTestTestfile.cmake)