From: vsr Date: Tue, 26 May 2020 16:21:51 +0000 (+0300) Subject: Rearrange tests X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fvsr%2Fclean_up;p=plugins%2Fhybridplugin.git Rearrange tests --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fa2914..83d63ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,12 +143,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 HYBRIDPLUGIN documentation. " - "So, you should either set SALOME_BUILD_DOC=OFF in HYBRIDPLUGIN 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}) @@ -205,7 +199,7 @@ MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_SCRIPTS SALOME_INSTALL_SCRIPT_DATA SALOME MARK_AS_ADVANCED(SALOME_INSTALL_APPLISKEL_SCRIPTS SALOME_INSTALL_APPLISKEL_PYTHON SALOME_INSTALL_CMAKE_LOCAL SALOME_INSTALL_RES) MARK_AS_ADVANCED(SALOME_INSTALL_PYTHON SALOME_INSTALL_PYTHON_SHARED) MARK_AS_ADVANCED(SALOME_INSTALL_AMCONFIG_LOCAL SALOME_INSTALL_DOC) -MARK_AS_ADVANCED(SALOME_HYBRIDPLUGIN_INSTALL_RES_DATA) +MARK_AS_ADVANCED(SALOME_HYBRIDPLUGIN_INSTALL_RES_DATA SALOME_HYBRIDPLUGIN_INSTALL_TESTS) # Accumulate environment variables for HYBRIDPLUGIN module SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_BINS} @@ -220,9 +214,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) @@ -284,3 +276,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_HYBRIDPLUGIN_INSTALL_TESTS} + RENAME CTestTestfile.cmake) +ENDIF() diff --git a/CTestTestfileInstall.cmake b/CTestTestfileInstall.cmake new file mode 100644 index 0000000..6bac55f --- /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{HYBRIDPLUGIN_ROOT_DIR}/@SALOME_INSTALL_DOC@/examples/HYBRIDPLUGIN") + +INCLUDE(tests.set) +INCLUDE(examples.set) + +SET(COMPONENT_NAME HYBRIDPLUGIN) +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 1f1a92b..0e7220b 100644 --- a/doc/salome/CMakeLists.txt +++ b/doc/salome/CMakeLists.txt @@ -18,4 +18,6 @@ # ADD_SUBDIRECTORY(examples) -ADD_SUBDIRECTORY(gui) +IF(SALOME_BUILD_DOC) + ADD_SUBDIRECTORY(gui) +ENDIF() diff --git a/doc/salome/examples/CMakeLists.txt b/doc/salome/examples/CMakeLists.txt index 3ce247b..7a67ce7 100644 --- a/doc/salome/examples/CMakeLists.txt +++ b/doc/salome/examples/CMakeLists.txt @@ -19,26 +19,26 @@ INCLUDE(examples.set) -SET(COMPONENT_NAME HYBRIDPLUGIN) +# Install examples -SET(TEST_INSTALL_DIRECTORY ${SALOME_HYBRIDPLUGIN_INSTALL_TESTS}) +INSTALL(FILES ${EXAMPLE_SCRIPTS} DESTINATION ${SALOME_INSTALL_DOC}/examples/HYBRIDPLUGIN) -# make test -SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) +# Tests -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/HYBRIDPLUGIN) -ENDFOREACH() +IF(SALOME_BUILD_TESTS) + # make test -# salome test -FOREACH(tfile ${EXAMPLE_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 examples.set DESTINATION ${TEST_INSTALL_DIRECTORY}) \ No newline at end of file + 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 + + INSTALL(FILES examples.set DESTINATION ${SALOME_HYBRIDPLUGIN_INSTALL_TESTS}) +ENDIF() diff --git a/doc/salome/examples/examples.set b/doc/salome/examples/examples.set index 6e46bdb..f0c90f1 100644 --- a/doc/salome/examples/examples.set +++ b/doc/salome/examples/examples.set @@ -17,6 +17,6 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -SET(EXAMPLE_NAMES - hybriddemo +SET(EXAMPLE_SCRIPTS + hybriddemo.py ) diff --git a/doc/salome/examples/testme.py b/doc/salome/examples/testme.py deleted file mode 100644 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 eb481c7..8b68510 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -16,31 +16,29 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # + INCLUDE(tests.set) -SET(COMPONENT_NAME HYBRIDPLUGIN) +# Install tests + +INSTALL(FILES ${TEST_SCRIPTS} DESTINATION ${SALOME_INSTALL_DOC}/examples/HYBRIDPLUGIN) -SET(TEST_INSTALL_DIRECTORY ${SALOME_HYBRIDPLUGIN_INSTALL_TESTS}) +# Tests -# make test -SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) +IF(SALOME_BUILD_TESTS) + # make test -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() + SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) + SET(TEST_HELPER ${KERNEL_ROOT_DIR}/bin/salome/test_helper.py) -# salome test -FOREACH(tfile ${TEST_NAMES}) - INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py - DESTINATION ${TEST_INSTALL_DIRECTORY}) -ENDFOREACH() + 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 CTestTestfileInstall.cmake - DESTINATION ${TEST_INSTALL_DIRECTORY} - RENAME CTestTestfile.cmake) + # salome test -INSTALL(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY}) \ No newline at end of file + INSTALL(FILES tests.set DESTINATION ${SALOME_HYBRIDPLUGIN_INSTALL_TESTS}) +ENDIF() diff --git a/tests/CTestTestfileInstall.cmake b/tests/CTestTestfileInstall.cmake deleted file mode 100644 index e6c01d8..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 HYBRIDPLUGIN) -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 6e0aa61..12f60c6 100644 --- a/tests/tests.set +++ b/tests/tests.set @@ -17,12 +17,12 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -SET(TEST_NAMES - cartesian_core_size - enforced_mesh - layers_imprinting - layers_imprinting_hexa_core - layers_with_snapping - mg_hybrid_pyramids - advanced_text_option +SET(TEST_SCRIPTS + cartesian_core_size.py + enforced_mesh.py + layers_imprinting.py + layers_imprinting_hexa_core.py + layers_with_snapping.py + mg_hybrid_pyramids.py + advanced_text_option.py )