X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=test.hdfs%2Ftest_hdf.py;h=91cfd73decd4a666f787f8517d66da649da221e6;hb=77ce6d35ac8d2f0fdaecb4f23e0870bf74e36103;hp=5aafa9a4147053db8e3abbaf96f9887a52f765d5;hpb=3ea0f691fabb31bc0d49448ab96faab5e0b94439;p=modules%2Fshaper.git diff --git a/test.hdfs/test_hdf.py b/test.hdfs/test_hdf.py index 5aafa9a41..91cfd73de 100644 --- a/test.hdfs/test_hdf.py +++ b/test.hdfs/test_hdf.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2019 CEA/DEN, EDF R&D +# Copyright (C) 2014-2024 CEA, EDF # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,7 +17,7 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -import salome, os, sys +import salome, salome_utils, os, sys import SalomePyQt import unittest @@ -32,127 +32,63 @@ class TestHDF(unittest.TestCase): reffile = "" def setUp(self): - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest setUp() started", file=dbgFile) - dbgFile.close() - # =========================================== - salome.salome_close() - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest previous session closed", file=dbgFile) - dbgFile.close() - # =========================================== - - # leave file name only (trim path and extension) - fileName = os.path.basename(self.testfile) - self.reffile = self.reffile + "/" + os.path.splitext(fileName)[0] + ".py" - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest reffile: {}".format(self.reffile), file=dbgFile) - dbgFile.close() - # =========================================== - - salome.salome_init(self.testfile, embedded=1) + salome.standalone() + salome.salome_init(self.testfile, embedded=1, forced=True) myStudyName = salome.myStudy._get_Name() self.session = salome.naming_service.Resolve('/Kernel/Session') self.session.emitMessage("connect_to_study") - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest Salome started", file=dbgFile) - dbgFile.close() - # =========================================== self.sg = SalomePyQt.SalomePyQt() self.sg.activateModule("Shaper") self.session = ModelAPI.ModelAPI_Session.get() self.partSet = self.session.moduleDocument() - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest Shaper started", file=dbgFile) - dbgFile.close() - # =========================================== def tearDown(self): - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest tearDown() started", file=dbgFile) - dbgFile.close() - # =========================================== salome.sg.UpdateView() self.sg.processEvents() salome.sg.FitAll() - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest tearDown() finished", file=dbgFile) - dbgFile.close() - # =========================================== def test_hdf_file(self): - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest start HDF file testing", file=dbgFile) - dbgFile.close() - # =========================================== self.assertTrue(self.partSet.size("Parts") > 0) - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest number of parts: {}".format(self.partSet.size("Parts")), file=dbgFile) - dbgFile.close() - # =========================================== - aPartsList = [] + aPartsList = dict() for aPartIndex in range(self.partSet.size("Parts")): self.session.startOperation() aPart = ModelAPI.modelAPI_ResultPart(ModelAPI.objectToResult(self.partSet.object("Parts", aPartIndex))) aPart.activate() self.session.finishOperation() - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest test part: {}".format(aPartIndex), file=dbgFile) - dbgFile.close() - # =========================================== aPartFeature = PartSetAPI.PartSetAPI_Part(self.partSet.currentFeature(True)) - # check reference data - exec(open(self.reffile, "rb").read()) - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest test part finished", file=dbgFile) - dbgFile.close() - # =========================================== + aPartsList["Part_{}".format(aPartIndex+1)] = aPartFeature + + self.session.startOperation() + self.session.setActiveDocument(self.partSet) + self.session.finishOperation() + + # Check that the features are not in error + Part_1_doc = aPart.partDoc() + + model.checkFeaturesValidity(Part_1_doc) + # check reference data + exec(open(self.reffile, "rb").read(), globals(), aPartsList) if __name__ == "__main__": if len(sys.argv) > 1: TestHDF.testfile = sys.argv[1] if len(sys.argv) > 2: - salomePortFile = sys.argv[2] + TestHDF.reffile = sys.argv[2] if len(sys.argv) > 3: errFile = open(sys.argv[3], 'w') - if len(sys.argv) > 4: - salomeKernelDir = sys.argv[4] - if len(sys.argv) > 5: - TestHDF.reffile = sys.argv[5] - - # =========================================== - dbgFile = open(os.getcwd() + "/dbgfile", 'a') - print(" UnitTest started with parameters:", file=dbgFile) - print(" testfile: {}".format(TestHDF.testfile), file=dbgFile) - print(" salomePortFile: {}".format(salomePortFile), file=dbgFile) - print(" salomeKernelDir: {}".format(salomeKernelDir), file=dbgFile) - print(" reffile: {}".format(TestHDF.reffile), file=dbgFile) - dbgFile.close() - # =========================================== + else: + # to ease debugging, display the log in embedded python console if no log file is provided + # when calling salome in command line for instance + # runSalome.py --splash 0 test_hdf.py args:BearingSeparator.hdf,BearingSeparator.py + errFile = None + aTest = unittest.TestLoader().loadTestsFromTestCase(TestHDF) unittest.TextTestRunner(stream=errFile).run(aTest) - errFile.close() - -# test_program = unittest.main(argv=[sys.argv[0]], exit=False) - proc = subprocess.Popen(salomeKernelDir + "/bin/salome/killSalome.py") - - try: - os.remove(salomePortFile) - except: - print("Cannot remove file", file=f) + if errFile: + errFile.close() -# assert test_program.result.wasSuccessful(), "Test failed" + # Quit SALOME the clean way + sys.exit()