-#!/usr/bin/env python
-# Copyright (C) 2006-2016 CEA/DEN, EDF R&D
+#!/usr/bin/env python3
+# Copyright (C) 2006-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
import time
import unittest
import threading
+import tempfile
+import os
import SALOMERuntime
import loader
def setUp(self):
SALOMERuntime.RuntimeSALOME_setRuntime(1)
+ self.workdir = tempfile.mkdtemp(suffix=".yacstest")
pass
def test0_saveAndExec(self):
l = loader.YACSLoader()
e = pilot.ExecutorSwig()
for schema in schemaList:
+ print(schema)
fileOrig = "samples/" + schema + ".xml"
- saveSchema1 = "schema1_" + schema
- dumpSchema1 = "dump1_" + schema
- saveSchema2 = "schema2_" + schema
- dumpSchema2 = "dump2_" + schema
+ saveSchema1 = os.path.join(self.workdir, "schema1_" + schema)
+ dumpSchema1 = os.path.join(self.workdir, "dump1_" + schema)
+ saveSchema2 = os.path.join(self.workdir, "schema2_" + schema)
+ dumpSchema2 = os.path.join(self.workdir, "dump2_" + schema)
try:
p = l.load(fileOrig)
s = pilot.SchemaSave(p)
except:
pb = "unknown problem on " + fileOrig
self.fail(pb)
- s1=open(saveSchema1,'r')
- s2=open(saveSchema2,'r')
- d1=open(dumpSchema1,'r')
- d2=open(dumpSchema2,'r')
- ls1 = s1.readlines().sort()
- ls2 = s2.readlines().sort()
- ld1 = d1.readlines().sort()
- ld2 = d2.readlines().sort()
+
+ with open(saveSchema1,'r') as s1:
+ ls1 = s1.readlines().sort()
+ with open(saveSchema2,'r') as s2:
+ ls2 = s2.readlines().sort()
+ with open(dumpSchema1,'r') as d1:
+ ld1 = d1.readlines().sort()
+ with open(dumpSchema2,'r') as d2:
+ ld2 = d2.readlines().sort()
pb1 = "file schemes produced by successive executions are not identical: " + fileOrig
pb2 = "final dump states produced by successive executions are not identical: " + fileOrig
self.assertEqual(ls1,ls2,pb1)
pass
if __name__ == '__main__':
+ import salome
+ import NamingService
import os
- U = os.getenv('USER')
- f=open("/tmp/" + U + "/UnitTestsResult", 'a')
- f.write(" --- TEST src/yacsloader: testSave.py\n")
- suite = unittest.makeSuite(TestSave)
- result=unittest.TextTestRunner(f, descriptions=1, verbosity=1).run(suite)
- f.close()
- sys.exit(not result.wasSuccessful())
\ No newline at end of file
+ import subprocess
+ salome.salome_init()
+ ior = NamingService.NamingService.IOROfNS()
+ p = subprocess.Popen(["../yacsloader/echoSrv",ior])
+ import time
+ time.sleep(3)
+ with tempfile.TemporaryDirectory(suffix=".yacstest") as dir_test:
+ file_test = os.path.join(dir_test,"UnitTestsResult")
+ with open(file_test, 'a') as f:
+ f.write(" --- TEST src/yacsloader: testSave.py\n")
+ suite = unittest.makeSuite(TestSave)
+ result=unittest.TextTestRunner(f, descriptions=1, verbosity=1).run(suite)
+ p.terminate()
+ sys.exit(not result.wasSuccessful())