Salome HOME
7d340a6d1662f4682ae5fbdcdc5ce0d84bb97427
[modules/paravis.git] / src / Plugins / MEDReader / Test / CMakeLists.txt
1 # Copyright (C) 2010-2017  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 INCLUDE(tests.set)
21
22 IF(NOT SALOME_INSTALL_SCRIPT_SCRIPTS)
23   SET(SALOME_INSTALL_SCRIPT_SCRIPTS "bin/salome")
24 ENDIF(NOT SALOME_INSTALL_SCRIPT_SCRIPTS)
25
26 SET(TEST_INSTALL_DIRECTORY ${SALOME_INSTALL_SCRIPT_SCRIPTS}/test/MEDReader)
27 SET(BASELINES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Baselines")
28
29 IF(KW_TESTING_PLATFORM)
30
31 cmake_minimum_required(VERSION 2.7)
32
33 find_package(ParaView REQUIRED)
34 include(${PARAVIEW_USE_FILE})
35
36 include(ParaViewTestingMacros)
37 include(FindPythonModules)
38
39 include(${PROJECT_SOURCE_DIR}/testing/testFunctions.cmake)
40 set(PV_PLUGIN_PATH "${CMAKE_BINARY_DIR}/lib/")
41
42 include(CTest)
43
44 enable_testing()
45
46 set(PARAVIEW_BIN_DIR "${ParaView_DIR}/bin" CACHE PATH "ParaView binary path")
47
48 set(PVTEST_DRIVER "${PARAVIEW_BIN_DIR}/smTestDriver")
49 set(PARAVIEW_CLIENT "${PARAVIEW_BIN_DIR}/paraview")
50 set(PARAVIEW_SERVER "${PARAVIEW_BIN_DIR}/pvserver")
51 set(PVPYTHON "${PARAVIEW_BIN_DIR}/pvpython")
52
53 set(PYTHON_SCRIPTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
54 set(TEMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary")
55
56 if(NOT EXISTS ${TEMP_DIR})
57   file(MAKE_DIRECTORY ${TEMP_DIR})
58 endif()
59
60 # Override vtk_add_test_* variables for use with ParaView.
61 macro (_myy_override_vtk_dirs)
62   set(VTK_TEST_DATA_DIR    ${PYTHON_SCRIPTS_DIR})
63   set(VTK_BASELINE_DIR     ${BASELINES_DIR})
64   set(VTK_TEST_OUTPUT_DIR  ${TEMP_DIR})
65   set(VTK_TEST_DATA_TARGET ParaViewData)
66 endmacro ()
67
68 function (myy_add_python_test)
69   message(STATUS "Add Python test for ${ARGV2}")
70   set(VTK_PYTHON_EXE "${PVPYTHON}")
71   list(APPEND VTK_PYTHON_ARGS -dr
72     ${PARAVIEW_PYTHON_ARGS})
73   _myy_override_vtk_dirs()
74   myvtk_add_test_python(${ARGN})
75 endfunction ()
76
77 # Test all python scripts
78 file(GLOB scripts "${PYTHON_SCRIPTS_DIR}/*py")
79 foreach(file ${scripts})
80   get_filename_component(fname ${file} NAME)
81   myy_add_python_test(
82     NO_DATA NO_RT
83     ${fname})
84   INSTALL(FILES ${file}
85           DESTINATION ${TEST_INSTALL_DIRECTORY})
86 endforeach()
87
88 ELSE(KW_TESTING_PLATFORM)
89
90 SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
91
92 SET(OTHER_OPTIONS)
93 IF(SALOME_PARAVIS_NO_VISU_TESTS)
94   LIST(APPEND OTHER_OPTIONS "-D")
95 ENDIF()
96
97 FOREACH(tfile ${TEST_NUMBERS})
98   ADD_TEST(testMEDReader${tfile} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/testMEDReader${tfile}.py -B ${BASELINES_DIR} ${OTHER_OPTIONS})
99   SET_TESTS_PROPERTIES(testMEDReader${tfile} PROPERTIES ENVIRONMENT "${tests_env}")
100 ENDFOREACH()
101
102 ENDIF(KW_TESTING_PLATFORM)
103
104
105 # Application tests
106 FOREACH(tfile ${TEST_NUMBERS})
107   INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/testMEDReader${tfile}.py
108           DESTINATION ${TEST_INSTALL_DIRECTORY})
109 ENDFOREACH()
110
111 FILE(GLOB BASELINE_FILES "${BASELINES_DIR}/*")
112 FOREACH(baseline_file ${BASELINE_FILES})
113   INSTALL(FILES ${baseline_file} DESTINATION ${TEST_INSTALL_DIRECTORY}/Baselines)
114 ENDFOREACH()
115
116 INSTALL(FILES CTestTestfileInstall.cmake
117         DESTINATION ${TEST_INSTALL_DIRECTORY}
118         RENAME CTestTestfile.cmake)
119 INSTALL(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY})