Salome HOME
Use tempfile.mkdtemp to create temporary directory
[modules/yacs.git] / src / yacsloader_swig / Test / testLoader.py
index 42c5adcbf50a89b5e2f1a3ce527a5242bee819c8..1b3ad6fe498d156f517304e48580bee949249aae 100755 (executable)
@@ -1,4 +1,5 @@
-# Copyright (C) 2006-2016  CEA/DEN, EDF R&D
+#!/usr/bin/env python3
+# Copyright (C) 2006-2022  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
@@ -41,13 +42,13 @@ class TestLoader(unittest.TestCase):
     retex=None
     try:
       p = self.l.load("nonexisting")
-    except IOError, ex:
-      print "IO Error: ", ex
+    except IOError as ex:
+      print("IO Error: ", ex)
       retex=ex
-    #except pilot.invalid_argument,ex:
-    #  print "invalid_argument:",ex.what()
+    # except pilot.invalid_argument as ex:
+    #  print("invalid_argument:",str(ex))
     #  retex=ex.what()
-    self.assert_(retex is not None, "exception not raised, or wrong type")
+    self.assertTrue(retex is not None, "exception not raised, or wrong type")
     pass
 
   def test2_parseError(self):
@@ -55,39 +56,40 @@ class TestLoader(unittest.TestCase):
     retex=None
     try:
       p = self.l.load("samples/bid.xml")
-    except ValueError,ex:
-      print "Caught ValueError Exception:",ex
+    except ValueError as ex:
+      print("Caught ValueError Exception:",ex)
       retex = ex
     expected="LogRecord: parser:ERROR:from node node5 does not exist in control link: node5->b2 context: b1. (samples/bid.xml:53)\n"
-    self.assert_(p.getLogger("parser").getStr() == expected, "error not found: "+p.getLogger("parser").getStr())
+    self.assertTrue(p.getLogger("parser").getStr() == expected, "error not found: "+p.getLogger("parser").getStr())
     pass
 
   def test3_normal(self):
     # --- File exists and no parsing problem
     try:
       p = self.l.load("samples/aschema.xml")
-      print p.getLogger("parser").getStr()
-      print p
-      print p.getName()
-      for k in p.typeMap: print k
-      for k in p.nodeMap: print k
-      for k in p.inlineMap: print k
-      for k in p.serviceMap: print k
-      print self.e.getTasksToLoad()
+      print(p.getLogger("parser").getStr())
+      print(p)
+      print(p.getName())
+      for k in p.typeMap: print(k)
+      for k in p.nodeMap: print(k)
+      for k in p.inlineMap: print(k)
+      for k in p.serviceMap: print(k)
+      print(self.e.getTasksToLoad())
       self.e.RunW(p,0)
       self.assertEqual(106, p.getChildByName('node48').getEffectiveState())
-    except pilot.Exception,ex:
-      print "YACS exception:",ex
+    except pilot.Exception as ex:
+      print("YACS exception:",ex)
       self.fail(ex)
       pass
     pass
 
 if __name__ == '__main__':
+  import tempfile
   import os
-  U = os.getenv('USER')
-  f=open("/tmp/" + U + "/UnitTestsResult", 'a')
-  f.write("  --- TEST src/yacsloader: testLoader.py\n")
-  suite = unittest.makeSuite(TestLoader)
-  result=unittest.TextTestRunner(f, descriptions=1, verbosity=1).run(suite)
-  f.close()
-  sys.exit(not result.wasSuccessful())
\ No newline at end of file
+  dir_test = tempfile.mkdtemp(suffix=".yacstest")
+  file_test = os.path.join(dir_test,"UnitTestsResult")
+  with open(file_test, 'a') as f:
+      f.write("  --- TEST src/yacsloader: testLoader.py\n")
+      suite = unittest.makeSuite(TestLoader)
+      result=unittest.TextTestRunner(f, descriptions=1, verbosity=1).run(suite)
+  sys.exit(not result.wasSuccessful())