From 1e262b49c1127dc56a7c3e7dac4ccd3bdf11ff38 Mon Sep 17 00:00:00 2001 From: vsr Date: Wed, 27 May 2020 14:49:14 +0300 Subject: [PATCH] Rearrange tests --- CMakeLists.txt | 23 ++++++++++++--------- CTestTestfileInstall.cmake | 33 ++++++++++++++++++++++++++++++ doc/salome/CMakeLists.txt | 4 +++- doc/salome/examples/CMakeLists.txt | 27 ++++++++++++++++++++++-- doc/salome/examples/examples.set | 22 ++++++++++++++++++++ 5 files changed, 96 insertions(+), 13 deletions(-) create mode 100644 CTestTestfileInstall.cmake create mode 100644 doc/salome/examples/examples.set diff --git a/CMakeLists.txt b/CMakeLists.txt index c891932..7ed16b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,7 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # + CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) PROJECT(SalomeNETGENPLUGIN C CXX) @@ -139,12 +140,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 NETGENPLUGIN documentation. " - "So, you should either set SALOME_BUILD_DOC=OFF in NETGENPLUGIN 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}) @@ -189,13 +184,14 @@ SET(SALOME_INSTALL_DOC "${SALOME_INSTALL_DOC}" CACHE PATH "Install path: SALOME # Specific to NETGENPLUGIN: SET(SALOME_NETGENPLUGIN_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/netgenplugin" CACHE PATH "Install path: SALOME NETGENPLUGIN specific data") +SET(SALOME_NETGENPLUGIN_INSTALL_TESTS "${SALOME_INSTALL_BINS}/test") MARK_AS_ADVANCED(SALOME_INSTALL_BINS SALOME_INSTALL_LIBS SALOME_INSTALL_IDLS SALOME_INSTALL_HEADERS) MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_SCRIPTS SALOME_INSTALL_SCRIPT_DATA SALOME_INSTALL_SCRIPT_PYTHON) 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_NETGENPLUGIN_INSTALL_RES_DATA) +MARK_AS_ADVANCED(SALOME_NETGENPLUGIN_INSTALL_RES_DATA SALOME_NETGENPLUGIN_INSTALL_TESTS) # Accumulate environment variables for NETGENPLUGIN module SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_BINS} @@ -210,9 +206,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) # Header configuration # ==================== @@ -271,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_NETGENPLUGIN_INSTALL_TESTS} + RENAME CTestTestfile.cmake) +ENDIF() diff --git a/CTestTestfileInstall.cmake b/CTestTestfileInstall.cmake new file mode 100644 index 0000000..e8bd48e --- /dev/null +++ b/CTestTestfileInstall.cmake @@ -0,0 +1,33 @@ +# Copyright (C) 2012-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 +# + +SET(TESTS_DIR "$ENV{NETGENPLUGIN_ROOT_DIR}/@SALOME_INSTALL_DOC@/examples/NETGENPLUGIN") + +INCLUDE(examples.set) + +SET(COMPONENT_NAME NETGENPLUGIN) +SET(SALOME_TEST_DRIVER "$ENV{KERNEL_ROOT_DIR}/bin/salome/appliskel/salome_test_driver.py") +SET(TIMEOUT 300) + +FOREACH(tfile ${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 12b45de..d0a12af 100644 --- a/doc/salome/CMakeLists.txt +++ b/doc/salome/CMakeLists.txt @@ -21,4 +21,6 @@ # ADD_SUBDIRECTORY(examples) -ADD_SUBDIRECTORY(gui) \ No newline at end of file +IF(SALOME_BUILD_DOC) + ADD_SUBDIRECTORY(gui) +ENDIF() diff --git a/doc/salome/examples/CMakeLists.txt b/doc/salome/examples/CMakeLists.txt index e85699d..f146a1e 100644 --- a/doc/salome/examples/CMakeLists.txt +++ b/doc/salome/examples/CMakeLists.txt @@ -17,5 +17,28 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.py") -INSTALL(FILES ${files} DESTINATION ${SALOME_INSTALL_DOC}/examples/NETGENPLUGIN) +INCLUDE(examples.set) + +# Install examples + +INSTALL(FILES ${EXAMPLE_SCRIPTS} DESTINATION ${SALOME_INSTALL_DOC}/examples/NETGENPLUGIN) + +# Tests + +IF(SALOME_BUILD_TESTS) + # make test + + SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) + SET(TEST_HELPER ${KERNEL_ROOT_DIR}/bin/salome/test_helper.py) + + 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_NETGENPLUGIN_INSTALL_TESTS}) +ENDIF() diff --git a/doc/salome/examples/examples.set b/doc/salome/examples/examples.set new file mode 100644 index 0000000..4e82a5f --- /dev/null +++ b/doc/salome/examples/examples.set @@ -0,0 +1,22 @@ +# Copyright (C) 2013-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 +# + +SET(EXAMPLE_SCRIPTS + netgendemo.py +) -- 2.39.2