Salome HOME
Porting to Python 3 (1st draft)
authorGilles DAVID <gilles-g.david@edf.fr>
Wed, 29 Mar 2017 16:33:41 +0000 (18:33 +0200)
committerGilles DAVID <gilles-g.david@edf.fr>
Wed, 29 Mar 2017 16:33:41 +0000 (18:33 +0200)
src/Core/Test/test_script.py
src/Python/CMakeLists.txt
src/Python/Test/Test_Python_Local_SH.py

index f4073ce4e874329a6573a20f110c039aa772919f..ea1b2ee098a263d2ee8877ba2556f55aefc3d15a 100755 (executable)
@@ -4,13 +4,13 @@ import sys
 import os
 
 if len(sys.argv) != 4:
-  print "Usage: test-script.py seta.py setb.py result.txt"
+  print("Usage: test-script.py seta.py setb.py result.txt")
 
-execfile(sys.argv[1])
-execfile(sys.argv[2])
+exec(compile(open(sys.argv[1]).read(), sys.argv[1], 'exec'))
+exec(compile(open(sys.argv[2]).read(), sys.argv[2], 'exec'))
 
 c = a * b
 
-f = open(sys.argv[3], "w")
-f.write('MYENVVAR = "%s"\n' % os.getenv("MYENVVAR"))
-f.write("c = %d\n" % c)
+with open(sys.argv[3], "w") as f:
+  f.write('MYENVVAR = "%s"\n' % os.getenv("MYENVVAR"))
+  f.write("c = %d\n" % c)
index b5cdeb82834349affb3340c1bd9e63e24bd7faba..97ead0943f89f57a8c25c9ac49ae3a8aa43491f1 100644 (file)
@@ -41,7 +41,7 @@ SET(SWIG_LB_DPYS
     )
 
 SET_SOURCE_FILES_PROPERTIES(${SWIG_SRC_FILE} PROPERTIES CPLUSPLUS ON
-                                                        SWIG_FLAGS "-shadow")
+                                                        SWIG_FLAGS "-py3")
 # SWIG source file and module name differ - the following needs to be
 # set to avoid unnecessary rebuilds:
 SET_SOURCE_FILES_PROPERTIES(${SWIG_SRC_FILE} PROPERTIES SWIG_MODULE_NAME libbatch)
index 2cffb5707750ce1eff2c52147007a3e28a4954c6..9fbd7a02b1cc1646c1da9d91762979027da44ae9 100644 (file)
@@ -29,10 +29,10 @@ import time
 from libbatch import *
 
 def work():
-    print "*******************************************************************************************"
-    print "This script tests the local batch submission based on SH. No specific configuration is"
-    print "needed for this test."
-    print "*******************************************************************************************"
+    print("*******************************************************************************************")
+    print("This script tests the local batch submission based on SH. No specific configuration is")
+    print("needed for this test.")
+    print("*******************************************************************************************")
 
     # eventually remove any previous result
     if (os.path.exists("resultdir/seconddirname/result.txt")):
@@ -54,7 +54,7 @@ def work():
     e = {}
     e["MYENVVAR"] = "MYVALUE";
     job.setEnvironnement(e)
-    print job
+    print(job)
 
     # Get the catalog
     c = BatchManagerCatalog.getInstance()
@@ -64,7 +64,7 @@ def work():
 
     # Submit the job to the BatchManager
     jobid = bm.submitJob(job)
-    print jobid
+    print(jobid)
 
     # Query the job
     jobid.queryJob()
@@ -74,28 +74,28 @@ def work():
 
 
     if state == FINISHED:
-        print "Job", jobid, "is done"
+        print("Job", jobid, "is done")
         bm.importOutputFiles(job, "resultdir/seconddirname")
     elif state == FAILED:
-        print "Job", jobid, " finished in error"
+        print("Job", jobid, " finished in error")
         bm.importOutputFiles(job, "resultdir/seconddirname")
         return 1
     else:
-        print "Timeout while executing job"
+        print("Timeout while executing job")
         return 1
 
     if state != FINISHED and state != FAILED:
-        print "Error: Job not finished after timeout"
+        print("Error: Job not finished after timeout")
         return 1;
 
     # test the result file
     res = {}
-    execfile('resultdir/seconddirname/result.txt', res)
+    exec(compile(open('resultdir/seconddirname/result.txt').read(), 'resultdir/seconddirname/result.txt', 'exec'), res)
     if (res["c"] == 12 and res["MYENVVAR"] == "MYVALUE"):
-      print "OK, Expected result found."
+      print("OK, Expected result found.")
       return 0
     else:
-      print "result found : %s, expected : %s" % (res, 'res["c"] == 12 and res["MYENVVAR"] == "MYVALUE"')
+      print("result found : %s, expected : %s" % (res, 'res["c"] == 12 and res["MYENVVAR"] == "MYVALUE"'))
       return 1
 
 if __name__ == "__main__":