From: vsr Date: Fri, 22 May 2020 14:52:34 +0000 (+0300) Subject: Rarrange tests X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fvsr%2Fclean_up;p=plugins%2Fblsurfplugin.git Rarrange tests --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 4db6b9a..81c58c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,12 +139,6 @@ IF(EXISTS ${SMESH_ROOT_DIR}) MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH with GUI, please set SALOME_BUILD_GUI=ON in SMESH module") ENDIF(NOT SALOME_SMESH_BUILD_GUI) ENDIF(SALOME_BUILD_GUI) - IF(SALOME_BUILD_DOC) - IF(NOT SALOME_SMESH_BUILD_DOC) - MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH documentation to build BLSURFPLUGIN documentation. " - "So, you should either set SALOME_BUILD_DOC=OFF in BLSURFPLUGIN or set SALOME_BUILD_DOC=ON in SMESH module.") - ENDIF(NOT SALOME_SMESH_BUILD_DOC) - ENDIF(SALOME_BUILD_DOC) ELSE(EXISTS ${SMESH_ROOT_DIR}) MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH, please define SMESH_ROOT_DIR") ENDIF(EXISTS ${SMESH_ROOT_DIR}) @@ -209,9 +203,7 @@ ADD_SUBDIRECTORY(adm_local) ADD_SUBDIRECTORY(resources) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(bin) -IF(SALOME_BUILD_DOC) - ADD_SUBDIRECTORY(doc) -ENDIF(SALOME_BUILD_DOC) +ADD_SUBDIRECTORY(doc) IF(SALOME_BUILD_TESTS) ADD_SUBDIRECTORY(tests) ENDIF(SALOME_BUILD_TESTS) @@ -273,3 +265,12 @@ INSTALL(FILES # Install the export set for use with the install-tree INSTALL(EXPORT ${PROJECT_NAME}TargetGroup DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}" FILE ${PROJECT_NAME}Targets.cmake) + +IF(SALOME_BUILD_TESTS) + CONFIGURE_FILE(CTestTestfileInstall.cmake + ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfileInstall.cmake + @ONLY) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfileInstall.cmake + DESTINATION ${SALOME_BLSURFPLUGIN_INSTALL_TESTS} + RENAME CTestTestfile.cmake) +ENDIF() diff --git a/CTestTestfileInstall.cmake b/CTestTestfileInstall.cmake new file mode 100644 index 0000000..4e9eb8e --- /dev/null +++ b/CTestTestfileInstall.cmake @@ -0,0 +1,34 @@ +# Copyright (C) 2016-2020 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 +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +SET(TESTS_DIR "$ENV{BLSURFPLUGIN_ROOT_DIR}/@SALOME_INSTALL_DOC@/examples/BLSURFPLUGIN") + +INCLUDE(tests.set) +INCLUDE(examples.set) + +SET(COMPONENT_NAME BLSURFPLUGIN) +SET(SALOME_TEST_DRIVER "$ENV{KERNEL_ROOT_DIR}/bin/salome/appliskel/salome_test_driver.py") +SET(TIMEOUT 300) + +FOREACH(tfile ${TEST_SCRIPTS} ${EXAMPLE_SCRIPTS}) + GET_FILENAME_COMPONENT(TEST_NAME ${tfile} NAME_WE) + SET(TEST_NAME "${COMPONENT_NAME}_${TEST_NAME}") + ADD_TEST(${TEST_NAME} python ${SALOME_TEST_DRIVER} ${TIMEOUT} ${TESTS_DIR}/${tfile}) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}") +ENDFOREACH() diff --git a/doc/salome/CMakeLists.txt b/doc/salome/CMakeLists.txt index d056498..f057047 100644 --- a/doc/salome/CMakeLists.txt +++ b/doc/salome/CMakeLists.txt @@ -18,5 +18,7 @@ # ADD_SUBDIRECTORY(examples) -ADD_SUBDIRECTORY(gui) -ADD_SUBDIRECTORY(tui) \ No newline at end of file +IF(SALOME_BUILD_DOC) + ADD_SUBDIRECTORY(gui) + ADD_SUBDIRECTORY(tui) +ENDIF() diff --git a/doc/salome/examples/CMakeLists.txt b/doc/salome/examples/CMakeLists.txt index dcaadcc..2307b04 100644 --- a/doc/salome/examples/CMakeLists.txt +++ b/doc/salome/examples/CMakeLists.txt @@ -17,30 +17,28 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.py") - INCLUDE(examples.set) -SET(COMPONENT_NAME BLSURFPLUGIN) +# Install examples + +INSTALL(FILES ${EXAMPLE_SCRIPTS} DESTINATION ${SALOME_INSTALL_DOC}/examples/BLSURFPLUGIN) + +# Tests -SET(TEST_INSTALL_DIRECTORY ${SALOME_BLSURFPLUGIN_INSTALL_TESTS}) +IF(SALOME_BUILD_TESTS) + # make test -# make test -SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) + SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) + SET(TEST_HELPER ${KERNEL_ROOT_DIR}/bin/salome/test_helper.py) -FOREACH(tfile ${EXAMPLE_NAMES}) - SET(TEST_NAME ${COMPONENT_NAME}_${tfile}) - ADD_TEST(NAME ${TEST_NAME} - COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/doc/salome/examples/testme.py ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}") - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}") - INSTALL(FILES ${tfile}.py DESTINATION ${SALOME_INSTALL_DOC}/examples/BLSURFPLUGIN) -ENDFOREACH() + FOREACH(tfile ${EXAMPLE_SCRIPTS}) + GET_FILENAME_COMPONENT(TEST_NAME ${tfile} NAME_WE) + ADD_TEST(NAME ${TEST_NAME} + COMMAND ${PYTHON_EXECUTABLE} -B ${TEST_HELPER} ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}") + ENDFOREACH() -# salome test -FOREACH(tfile ${EXAMPLE_NAMES}) - INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py - DESTINATION ${TEST_INSTALL_DIRECTORY}) -ENDFOREACH() + # salome test -INSTALL(FILES examples.set DESTINATION ${TEST_INSTALL_DIRECTORY}) \ No newline at end of file + INSTALL(FILES examples.set DESTINATION ${SALOME_BLSURFPLUGIN_INSTALL_TESTS}) +ENDIF() diff --git a/doc/salome/examples/examples.set b/doc/salome/examples/examples.set index fad44f2..b8923dd 100644 --- a/doc/salome/examples/examples.set +++ b/doc/salome/examples/examples.set @@ -17,7 +17,7 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -SET(EXAMPLE_NAMES - blsurfdemo - periodicity_prepro +SET(EXAMPLE_SCRIPTS + blsurfdemo.py + periodicity_prepro.py ) diff --git a/doc/salome/examples/testme.py b/doc/salome/examples/testme.py deleted file mode 100755 index e659d50..0000000 --- a/doc/salome/examples/testme.py +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -#!/usr/bin/env python3 - -import unittest, sys, os - -class SalomeSession(object): - def __init__(self, script): - import runSalome - run_script = "runSalome.py" - if sys.platform == 'win32': - module_dir = os.getenv("KERNEL_ROOT_DIR") - if module_dir: run_script = os.path.join(module_dir, "bin", "salome", run_script) - pass - sys.argv = [run_script] - sys.argv += ["--terminal"] - sys.argv += ["--modules=GEOM,MED,SMESH"] - sys.argv += ["%s" % script] - if sys.platform == 'win32': - main_module_path = sys.modules['__main__'].__file__ - sys.modules['__main__'].__file__ = '' - clt, d = runSalome.main() - if sys.platform == 'win32': - sys.modules['__main__'].__file__ = main_module_path - return - - def __del__(self): - port = os.getenv('NSPORT') - import killSalomeWithPort - killSalomeWithPort.killMyPort(port) - return - pass - -class MyTest(unittest.TestCase): - def testFunction(self): - SalomeSession(sys.argv[1]) - pass - -unittest.main(argv=sys.argv[:1]) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 05e7aa5..25783d8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -19,29 +19,26 @@ INCLUDE(tests.set) -SET(COMPONENT_NAME BLSURFPLUGIN) +# Install tests -SET(TEST_INSTALL_DIRECTORY ${SALOME_BLSURFPLUGIN_INSTALL_TESTS}) +INSTALL(FILES ${TEST_SCRIPTS} DESTINATION ${SALOME_INSTALL_DOC}/examples/BLSURFPLUGIN) -# make test -SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) +# Tests -FOREACH(tfile ${TEST_NAMES}) - SET(TEST_NAME ${COMPONENT_NAME}_${tfile}) - ADD_TEST(NAME ${TEST_NAME} - COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/doc/salome/examples/testme.py ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}") - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}") -ENDFOREACH() +IF(SALOME_BUILD_TESTS) + # make test -# salome test -FOREACH(tfile ${TEST_NAMES}) - INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py - DESTINATION ${TEST_INSTALL_DIRECTORY}) -ENDFOREACH() + SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) + SET(TEST_HELPER ${KERNEL_ROOT_DIR}/bin/salome/test_helper.py) -INSTALL(FILES CTestTestfileInstall.cmake - DESTINATION ${TEST_INSTALL_DIRECTORY} - RENAME CTestTestfile.cmake) + FOREACH(tfile ${TEST_SCRIPTS}) + GET_FILENAME_COMPONENT(TEST_NAME ${tfile} NAME_WE) + ADD_TEST(NAME ${TEST_NAME} + COMMAND ${PYTHON_EXECUTABLE} -B ${TEST_HELPER} ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}") + ENDFOREACH() -INSTALL(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY}) \ No newline at end of file + # salome test + + INSTALL(FILES tests.set DESTINATION ${SALOME_BLSURFPLUGIN_INSTALL_TESTS}) +ENDIF() diff --git a/tests/CTestTestfileInstall.cmake b/tests/CTestTestfileInstall.cmake deleted file mode 100644 index a31052f..0000000 --- a/tests/CTestTestfileInstall.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (C) 2016-2020 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 -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -INCLUDE(tests.set) -INCLUDE(examples.set) - -SET(COMPONENT_NAME BLSURFPLUGIN) -SET(SALOME_TEST_DRIVER "$ENV{KERNEL_ROOT_DIR}/bin/salome/appliskel/salome_test_driver.py") -SET(TIMEOUT 300) - - -FOREACH(tfile ${TEST_NAMES} ${EXAMPLE_NAMES}) - SET(TEST_NAME ${COMPONENT_NAME}_${tfile}) - ADD_TEST(${TEST_NAME} python ${SALOME_TEST_DRIVER} ${TIMEOUT} ${tfile}.py) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}") -ENDFOREACH() diff --git a/tests/tests.set b/tests/tests.set index 883f08e..ad6f031 100644 --- a/tests/tests.set +++ b/tests/tests.set @@ -17,22 +17,22 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -SET(TEST_NAMES - attractor - attractor_edge_on_border - attractor_point_outside_face - enforced_internal_vertex - enforced_vertex - multithread - periodicity_2D_prepro - #periodicity_prepro # already tested in examples - periodicity_reflexion_2D_prepro - periodicity_reflexion_prepro - periodicity_with_points_2D_prepro - prepro_intersections - prepro_keep_gaps - proximity - quadrangles_gradation - remove_tiny_edges - sphere +SET(TEST_SCRIPTS + attractor.py + attractor_edge_on_border.py + attractor_point_outside_face.py + enforced_internal_vertex.py + enforced_vertex.py + multithread.py + periodicity_2D_prepro.py + periodicity_reflexion_2D_prepro.py + periodicity_reflexion_prepro.py + periodicity_with_points_2D_prepro.py + prepro_intersections.py + prepro_keep_gaps.py + proximity.py + quadrangles.py + quadrangles_gradation.py + remove_tiny_edges.py + sphere.py )