]> SALOME platform Git repositories - modules/med.git/commitdiff
Salome HOME
[MEDCalc] Add tui tests
authorCédric Aguerre <cedric.aguerre@edf.fr>
Tue, 19 Jul 2016 12:00:41 +0000 (14:00 +0200)
committerabn <adrien.bruneton@cea.fr>
Wed, 27 Jul 2016 10:18:11 +0000 (12:18 +0200)
15 files changed:
src/MEDCalc/test/CMakeLists.txt
src/MEDCalc/test/gui/CMakeLists.txt
src/MEDCalc/test/gui/medcalc_testutils.py.in [deleted file]
src/MEDCalc/test/gui/test_qttesting.py
src/MEDCalc/test/gui/test_scalarmap.py
src/MEDCalc/test/medcalc_testutils.py.in [new file with mode: 0644]
src/MEDCalc/test/tui/CMakeLists.txt
src/MEDCalc/test/tui/CTestTestfileInstall.cmake
src/MEDCalc/test/tui/access_API.py [new file with mode: 0644]
src/MEDCalc/test/tui/import_pvsimple.py [new file with mode: 0644]
src/MEDCalc/test/tui/load_file.py [new file with mode: 0644]
src/MEDCalc/test/tui/medcalc_test_utils.py [new file with mode: 0644]
src/MEDCalc/test/tui/medfiles/smooth_surface_and_field.med [new file with mode: 0644]
src/MEDCalc/test/tui/scalar_map.py [new file with mode: 0644]
src/MEDCalc/test/tui/tests.set [new file with mode: 0644]

index 72cf4a1a556a893b1a8c3ccc180c0593077acc98..964172e0503c5573ab7599ca032459bfbc0f8170 100644 (file)
@@ -17,6 +17,8 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
+SALOME_CONFIGURE_FILE(medcalc_testutils.py.in ${CMAKE_CURRENT_BINARY_DIR}/medcalc_testutils.py)
+
 IF(SALOME_BUILD_GUI)
   IF(SALOME_MED_WITH_QTTESTING)
     ADD_SUBDIRECTORY(gui)
@@ -28,6 +30,7 @@ IF(SALOME_MED_ENABLE_PYTHON)
 ENDIF()
 
 SET(TEST_INSTALL_DIRECTORY ${SALOME_MED_INSTALL_TEST}/MEDCalc)
+SALOME_INSTALL_SCRIPTS(${CMAKE_CURRENT_BINARY_DIR}/medcalc_testutils.py ${SALOME_INSTALL_SCRIPT_SCRIPTS})
 INSTALL(FILES CTestTestfileInstall.cmake
   DESTINATION ${TEST_INSTALL_DIRECTORY}
   RENAME CTestTestfile.cmake)
index 188391e28ff4d97e72d831e1ead6906d6c98022b..dd43e6e7cb0767e535eb233b2e238938e20f32ec 100644 (file)
@@ -17,8 +17,6 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-SALOME_CONFIGURE_FILE(medcalc_testutils.py.in ${CMAKE_CURRENT_BINARY_DIR}/medcalc_testutils.py)
-
 SET(_test_scripts
     test_scalarmap.py
 )
@@ -39,7 +37,6 @@ SET(_test_files
 SET(TEST_INSTALL_DIRECTORY ${SALOME_MED_INSTALL_TEST}/MEDCalc/gui)
 
 SALOME_INSTALL_SCRIPTS(test_qttesting.py ${TEST_INSTALL_DIRECTORY})
-SALOME_INSTALL_SCRIPTS(${CMAKE_CURRENT_BINARY_DIR}/medcalc_testutils.py ${TEST_INSTALL_DIRECTORY})
 
 SALOME_INSTALL_SCRIPTS("${_test_scripts}" ${SALOME_INSTALL_PYTHON}/tests/gui)
 
diff --git a/src/MEDCalc/test/gui/medcalc_testutils.py.in b/src/MEDCalc/test/gui/medcalc_testutils.py.in
deleted file mode 100644 (file)
index 0b50e06..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (C) 2011-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
-#
-
-import os
-
-def __getRootDir():
-  rootDir = os.environ.get("MED_ROOT_DIR", "")
-  return rootDir
-
-def GetScriptDir():
-  relativeDir = "@SALOME_INSTALL_PYTHON@/tests/gui"
-  return os.path.join(__getRootDir(), relativeDir)
-
-def GetScenarioDir():
-  relativeDir = "@SALOME_MED_INSTALL_RES_DATA@/tests/gui/scenarios"
-  return os.path.join(__getRootDir(), relativeDir)
-
-def GetBaselineDir():
-  relativeDir = "@SALOME_MED_INSTALL_RES_DATA@/tests/gui/baselines"
-  return os.path.join(__getRootDir(), relativeDir)
-
-def GetMEDFileDir():
-  relativeDir = "@SALOME_MED_INSTALL_RES_DATA@/tests/gui/medfiles"
-  return os.path.join(__getRootDir(), relativeDir)
index 1983febb95254cea107d6096a1d98f4e521f45fb..b5d421425e7332dd1bea3bfaecbeec737aba352d 100644 (file)
@@ -45,9 +45,9 @@ class MEDGUITest(unittest.TestCase):
   def launchSalomeWithScript(self, scriptname):
     """ TODO: review this - what is the nicest way to launch SALOME GUI from a Python script? """
     from salome_instance import SalomeInstance
-    from medcalc_testutils import GetScriptDir
+    from medcalc_testutils import GetScriptDirGUI
     args = "args:%s" % self._tmpDir
-    pth = os.path.join(GetScriptDir(), scriptname)
+    pth = os.path.join(GetScriptDirGUI(), scriptname)
     # Launch SALOME with the test script:
     inst = SalomeInstance.start(with_gui=True, args=[pth, args])
     # And make sure SALOME is stopped before running next one:
@@ -60,9 +60,9 @@ class MEDGUITest(unittest.TestCase):
     """ Compare the screenshot in the current temporary test directory with the reference baseline.
     Assert if not matching. """
     import filecmp
-    from medcalc_testutils import GetBaselineDir
+    from medcalc_testutils import GetBaselineDirGUI
 
-    base_pth = os.path.join(GetBaselineDir(), basename)
+    base_pth = os.path.join(GetBaselineDirGUI(), basename)
     gen_path = os.path.join(self._tmpDir, basename)
     print base_pth, gen_path
     try:
@@ -79,8 +79,8 @@ class MEDGUITest(unittest.TestCase):
 
   def prepareScenario(self, scenario, baseline, med_file):
     """ Copy scenario to current temporary test dir and substitute paths inside """
-    from medcalc_testutils import GetScenarioDir, GetMEDFileDir
-    scen_path = os.path.join(GetScenarioDir(), scenario)
+    from medcalc_testutils import GetScenarioDirGUI, GetMEDFileDirGUI
+    scen_path = os.path.join(GetScenarioDirGUI(), scenario)
     scen_pth2 = os.path.join(self._tmpDir, scenario)
     try:
       shutil.copy(scen_path, scen_pth2)
@@ -89,7 +89,7 @@ class MEDGUITest(unittest.TestCase):
     with open(scen_pth2,'r') as f:
       filedata = f.read()
     filedata = filedata.replace("/tmp/%s" % baseline, "%s/%s" % (self._tmpDir, baseline))
-    filedata = filedata.replace("/tmp/%s" % med_file, os.path.join(GetMEDFileDir(), med_file))
+    filedata = filedata.replace("/tmp/%s" % med_file, os.path.join(GetMEDFileDirGUI(), med_file))
     with open(scen_pth2,'w') as f:
       f.write(filedata)
 
index 6612eb67eb11464b43cead955cddfdd021bcf8e0..cfcb3dd7526604b3c90fbe9cbee7babeda72f705 100644 (file)
@@ -17,7 +17,7 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-""" Test of the scalarmap. 
+""" Test of the scalarmap.
 
 This script is to be passed as an argument of the ./salome command and will be executed within the SALOME
 Python console.
@@ -25,7 +25,8 @@ Python console.
 
 import os, sys
 import SalomePyQt
-from medcalc_testutils import GetScenarioDir
+
+from medcalc_testutils import GetScenarioDirGUI
 
 sgPyQt = SalomePyQt.SalomePyQt()
 sgPyQt.activateModule('MED')
@@ -34,4 +35,4 @@ import medcalc  # After module activation !!
 localTestDir = sys.argv[1]
 medcalc.PlayQtTestingScenario(os.path.join(localTestDir, 'test_scalarmap.xml'))
 
-medcalc.RequestSALOMETermination()  # not equivalent to quit()! 
+medcalc.RequestSALOMETermination()  # not equivalent to quit()!
diff --git a/src/MEDCalc/test/medcalc_testutils.py.in b/src/MEDCalc/test/medcalc_testutils.py.in
new file mode 100644 (file)
index 0000000..77e8255
--- /dev/null
@@ -0,0 +1,48 @@
+# Copyright (C) 2011-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
+#
+
+import os
+
+def __getRootDir():
+  rootDir = os.environ.get("MED_ROOT_DIR", "")
+  return rootDir
+
+# === GUI ===
+
+def GetScriptDirGUI():
+  relativeDir = "@SALOME_INSTALL_PYTHON@/tests/gui"
+  return os.path.join(__getRootDir(), relativeDir)
+
+def GetScenarioDirGUI():
+  relativeDir = "@SALOME_MED_INSTALL_RES_DATA@/tests/gui/scenarios"
+  return os.path.join(__getRootDir(), relativeDir)
+
+def GetBaselineDirGUI():
+  relativeDir = "@SALOME_MED_INSTALL_RES_DATA@/tests/gui/baselines"
+  return os.path.join(__getRootDir(), relativeDir)
+
+def GetMEDFileDirGUI():
+  relativeDir = "@SALOME_MED_INSTALL_RES_DATA@/tests/gui/medfiles"
+  return os.path.join(__getRootDir(), relativeDir)
+
+# === TUI ===
+
+def GetMEDFileDirTUI():
+  relativeDir = "@SALOME_MED_INSTALL_RES_DATA@/tests/tui/medfiles"
+  return os.path.join(__getRootDir(), relativeDir)
index 6bb09a53def8cfd1165c8635a1d7bbc375fe5b27..5bbaec13484947d2739487dcdca0346b764ccdd4 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
+INCLUDE(tests.set)
+
+SET(_test_files
+    medfiles/smooth_surface_and_field.med
+)
+
 SET(TEST_INSTALL_DIRECTORY ${SALOME_MED_INSTALL_TEST}/MEDCalc/tui)
+
+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})
+
+INSTALL(FILES ${_test_files} DESTINATION ${SALOME_MED_INSTALL_RES_DATA}/tests/tui/medfiles)
index f361715a680c3409219d20f958309d75a56d3dd4..91bf4130540e9315a9568fbab5230346caae7b27 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+
+INCLUDE(tests.set)
+
+FOREACH(tfile ${TEST_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/src/MEDCalc/test/tui/access_API.py b/src/MEDCalc/test/tui/access_API.py
new file mode 100644 (file)
index 0000000..4dbff46
--- /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
+#
+
+import medcalc
+medcalc.medconsole.setConsoleGlobals(globals())
+import MEDCALC
+
+from medcalc.medconsole import saveWorkspace, cleanWorkspace
+from medcalc.medconsole import putInWorkspace, removeFromWorkspace
+from medcalc.medconsole import accessField
+from medcalc.medconsole import getEnvironment, ls, la
diff --git a/src/MEDCalc/test/tui/import_pvsimple.py b/src/MEDCalc/test/tui/import_pvsimple.py
new file mode 100644 (file)
index 0000000..630a200
--- /dev/null
@@ -0,0 +1,20 @@
+# 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
+#
+
+import pvsimple as pvs
diff --git a/src/MEDCalc/test/tui/load_file.py b/src/MEDCalc/test/tui/load_file.py
new file mode 100644 (file)
index 0000000..ed1e541
--- /dev/null
@@ -0,0 +1,34 @@
+# 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
+#
+
+import medcalc
+medcalc.medconsole.setConsoleGlobals(globals())
+import MEDCALC
+
+from medcalc.medconsole import saveWorkspace, cleanWorkspace
+from medcalc.medconsole import putInWorkspace, removeFromWorkspace
+from medcalc.medconsole import accessField
+from medcalc.medconsole import getEnvironment, ls, la
+
+import os
+
+from medcalc_testutils import GetMEDFileDirTUI
+
+datafile = os.path.join(GetMEDFileDirTUI(), "smooth_surface_and_field.med")
+source_id = medcalc.LoadDataSource(datafile)
diff --git a/src/MEDCalc/test/tui/medcalc_test_utils.py b/src/MEDCalc/test/tui/medcalc_test_utils.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/MEDCalc/test/tui/medfiles/smooth_surface_and_field.med b/src/MEDCalc/test/tui/medfiles/smooth_surface_and_field.med
new file mode 100644 (file)
index 0000000..226ce3b
Binary files /dev/null and b/src/MEDCalc/test/tui/medfiles/smooth_surface_and_field.med differ
diff --git a/src/MEDCalc/test/tui/scalar_map.py b/src/MEDCalc/test/tui/scalar_map.py
new file mode 100644 (file)
index 0000000..54541ad
--- /dev/null
@@ -0,0 +1,38 @@
+# 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
+#
+
+import medcalc
+medcalc.medconsole.setConsoleGlobals(globals())
+import MEDCALC
+
+from medcalc.medconsole import saveWorkspace, cleanWorkspace
+from medcalc.medconsole import putInWorkspace, removeFromWorkspace
+from medcalc.medconsole import accessField
+from medcalc.medconsole import getEnvironment, ls, la
+
+import os
+
+from medcalc_testutils import GetMEDFileDirTUI
+
+datafile = os.path.join(GetMEDFileDirTUI(), "smooth_surface_and_field.med")
+source_id = medcalc.LoadDataSource(datafile)
+
+presentation_id = medcalc.MakeScalarMap(accessField(source_id), MEDCALC.VIEW_MODE_REPLACE, colorMap=MEDCALC.COLOR_MAP_BLUE_TO_RED_RAINBOW)
+
+medcalc.RemovePresentation(presentation_id)
diff --git a/src/MEDCalc/test/tui/tests.set b/src/MEDCalc/test/tui/tests.set
new file mode 100644 (file)
index 0000000..112519f
--- /dev/null
@@ -0,0 +1,25 @@
+# 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
+  access_API
+  load_file
+  import_pvsimple
+#  scalar_map
+)