]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Move test helper from GEOM (to avoid duplication in other modules)
authorvsr <vsr@opencascade.com>
Fri, 22 May 2020 08:19:39 +0000 (11:19 +0300)
committervsr <vsr@opencascade.com>
Fri, 22 May 2020 08:19:39 +0000 (11:19 +0300)
bin/CMakeLists.txt
bin/test_helper.py [new file with mode: 0755]

index dd793491deb576df2d047dcf60d2d39be9c92f74..9745d6e0332764fe6ab06c8aa402938dd5613596 100644 (file)
@@ -57,6 +57,7 @@ SET(SCRIPTS
   server.py
   setenv.py
   showNS.py
+  test_helper.py
   virtual_salome.py
   waitContainers.py
   waitNS.py
diff --git a/bin/test_helper.py b/bin/test_helper.py
new file mode 100755 (executable)
index 0000000..398b399
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/env python3
+# 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
+#
+
+import os
+import os.path as osp
+import sys
+import unittest
+
+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 = osp.join(module_dir, "bin", "salome", run_script)
+            pass
+        sys.argv  = [run_script]
+        sys.argv += ["--gui"] if os.getenv("SALOME_TEST_GUI_MODE") == "1" else ["--terminal"]
+        sys.argv += ["--modules=GEOM,FIELDS,SHAPER,SHAPERSTUDY,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])