From: vsr Date: Fri, 22 May 2020 08:19:39 +0000 (+0300) Subject: Move test helper from GEOM (to avoid duplication in other modules) X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=7dc03b07827d9e167c8cb67bffec73b627b16ef7;p=modules%2Fkernel.git Move test helper from GEOM (to avoid duplication in other modules) --- diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt index dd793491d..9745d6e03 100644 --- a/bin/CMakeLists.txt +++ b/bin/CMakeLists.txt @@ -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 index 000000000..398b39946 --- /dev/null +++ b/bin/test_helper.py @@ -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])