]> SALOME platform Git repositories - plugins/hybridplugin.git/commitdiff
Salome HOME
Enable ctest, make test and salome test
authorChristophe Bourcier <christophe.bourcier@cea.fr>
Thu, 15 Feb 2018 13:51:27 +0000 (14:51 +0100)
committerChristophe Bourcier <christophe.bourcier@cea.fr>
Thu, 15 Feb 2018 13:51:27 +0000 (14:51 +0100)
CMakeLists.txt
doc/salome/examples/CMakeLists.txt
doc/salome/examples/examples.set [new file with mode: 0644]
doc/salome/examples/hybrid_enfmesh.py
doc/salome/examples/testme.py [new file with mode: 0755]
tests/CMakeLists.txt
tests/CTestTestfileInstall.cmake [new file with mode: 0644]
tests/tests.set [new file with mode: 0644]

index ad05480241ad166e5e345e4be8aab38710c08ab2..2d24b94ee7c816af1272531e85a659a809864c78 100755 (executable)
@@ -213,7 +213,7 @@ SET(SALOME_INSTALL_DOC "${SALOME_INSTALL_DOC}" CACHE PATH "Install path: SALOME
 # Specific to HYBRIDPLUGIN:
 SET(SALOME_HYBRIDPLUGIN_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/hybridplugin" CACHE PATH 
     "Install path: SALOME HYBRIDPLUGIN specific data")
-SET(SALOME_HYBRIDPLUGIN_INSTALL_TESTS ${SALOME_INSTALL_BINS})
+SET(SALOME_HYBRIDPLUGIN_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)
index d6ad89a2548198642144ea2b15e45d826dc5b70a..c663f0841a6b35bf406b36cfdc96c2ee1641f509 100644 (file)
 # 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/HYBRIDPLUGIN)
+INCLUDE(examples.set)
+
+SET(COMPONENT_NAME HYBRIDPLUGIN)
+
+SET(TEST_INSTALL_DIRECTORY ${SALOME_HYBRIDPLUGIN_INSTALL_TESTS})
+
+# make test
+SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+
+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()
+
+# salome test
+FOREACH(tfile ${EXAMPLE_NAMES})
+  INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py
+          DESTINATION ${TEST_INSTALL_DIRECTORY})
+ENDFOREACH()
+
+INSTALL(FILES examples.set DESTINATION ${TEST_INSTALL_DIRECTORY})
\ No newline at end of file
diff --git a/doc/salome/examples/examples.set b/doc/salome/examples/examples.set
new file mode 100644 (file)
index 0000000..233e545
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright (C) 2016  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(EXAMPLE_NAMES
+  hybriddemo
+)
index 0fb3f06e68e5a4747cb00fcd40c2c07ac0d93689..030f23d4a5f35a72f111e753d9bc8b74dac6439c 100644 (file)
@@ -19,6 +19,7 @@ geompy = geomBuilder.New(salome.myStudy)
 import SMESH, SALOMEDS
 from salome.smesh import smeshBuilder
 smesh =  smeshBuilder.New(salome.myStudy)
+from salome.HYBRIDPlugin import HYBRIDPluginBuilder
 
 box = geompy.MakeBoxDXDYDZ(200, 200, 200)
 geompy.addToStudy( box, "box" )
@@ -47,9 +48,12 @@ BLSURF_Parameters2.SetGeometricMesh( 1 )
 # Create the 3D algorithm and hypothesis
 HYBRID = smesh.CreateHypothesis('HYBRID_3D', 'HYBRIDEngine')
 HYBRID_Parameters_in = smesh.CreateHypothesis('HYBRID_Parameters', 'HYBRIDEngine')
-HYBRID_Parameters_in.SetBoundaryLayersInward( True )
+#HYBRID_Parameters_in.SetBoundaryLayersInward( True )
+# HYBRIDPluginBuilder.Layer_Growth_Inward : 0
+HYBRID_Parameters_in.SetBoundaryLayersGrowth(HYBRIDPluginBuilder.Layer_Growth_Inward)
 HYBRID_Parameters_out = smesh.CreateHypothesis('HYBRID_Parameters', 'HYBRIDEngine')
-HYBRID_Parameters_out.SetBoundaryLayersInward( False ) # to mesh outside the cylinder
+# HYBRIDPluginBuilder.Layer_Growth_Outward : 1
+HYBRID_Parameters_out.SetBoundaryLayersGrowth( HYBRIDPluginBuilder.Layer_Growth_Outward ) # to mesh outside the cylinder
 
 # Create the mesh on the cylinder
 Mesh_cylindre = smesh.Mesh(cylindre)
diff --git a/doc/salome/examples/testme.py b/doc/salome/examples/testme.py
new file mode 100755 (executable)
index 0000000..6a502d0
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright (C) 2007-2016  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 python
+
+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])
index d30a5fbae5d243a26788494f559e5bb9d2cfc412..fd9f05f4a87a61337b5cda07fad01355d31e30d5 100755 (executable)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+INCLUDE(tests.set)
 
-SET(HYBRIDPLUGIN_TEST_FILES
-  test_cartesian_core_size.py
-  test_enforced_mesh.py
-  test_layers_imprinting.py
-  test_layers_imprinting_hexa_core.py
-  test_mg_hybrid_pyramids.py
-  test_advanced_text_option.py
-)
+SET(COMPONENT_NAME HYBRIDPLUGIN)
 
-INSTALL(FILES ${HYBRIDPLUGIN_TEST_FILES} DESTINATION ${SALOME_HYBRIDPLUGIN_INSTALL_TESTS})
+SET(TEST_INSTALL_DIRECTORY ${SALOME_HYBRIDPLUGIN_INSTALL_TESTS})
+
+# make test
+SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+
+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 test
+FOREACH(tfile ${TEST_NAMES})
+  INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py
+          DESTINATION ${TEST_INSTALL_DIRECTORY})
+ENDFOREACH()
+
+INSTALL(FILES CTestTestfileInstall.cmake
+  DESTINATION ${TEST_INSTALL_DIRECTORY}
+  RENAME CTestTestfile.cmake)
+
+INSTALL(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY})
\ No newline at end of file
diff --git a/tests/CTestTestfileInstall.cmake b/tests/CTestTestfileInstall.cmake
new file mode 100644 (file)
index 0000000..48e5d6c
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright (C) 2016  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
new file mode 100644 (file)
index 0000000..9fb237c
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright (C) 2016  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(TEST_NAMES
+  test_cartesian_core_size
+  test_enforced_mesh
+  test_layers_imprinting
+  test_layers_imprinting_hexa_core
+  test_mg_hybrid_pyramids
+  test_advanced_text_option
+)