]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
Fix MEDCOUPLING tests currently on error on Windows OS:
authorNabil Ghodbane <nabil.ghodbane@cea.fr>
Tue, 21 Mar 2023 12:14:09 +0000 (13:14 +0100)
committerNabil Ghodbane <nabil.ghodbane@cea.fr>
Tue, 21 Mar 2023 12:14:09 +0000 (13:14 +0100)
   1/ fix import in python scripts
   2/ fix PYTHONPATH search path in CTestTestfileInstall.cmake consistently for Windows
   3/ Implement Linux which equivalent command on Windows

24 files changed:
src/MEDCoupling_Swig/MEDCouplingBasicsTest1.py
src/MEDCoupling_Swig/MEDCouplingBasicsTest2.py
src/MEDCoupling_Swig/MEDCouplingBasicsTest3.py
src/MEDCoupling_Swig/MEDCouplingBasicsTest4.py
src/MEDCoupling_Swig/MEDCouplingBasicsTest5.py
src/MEDCoupling_Swig/MEDCouplingBasicsTest6.py
src/MEDCoupling_Swig/MEDCouplingBasicsTest7.py
src/MEDCoupling_Swig/MEDCouplingDataForTest.py
src/MEDCoupling_Swig/MEDCouplingExamplesTest.py
src/MEDCoupling_Swig/MEDCouplingIntersectTest.py
src/MEDCoupling_Swig/MEDCouplingNumPyTest.py
src/MEDCoupling_Swig/MEDCouplingPickleTest.py
src/MEDCoupling_Swig/UsersGuideExamplesTest.py
src/MEDCoupling_Swig/UsersGuideExamplesTest_numpy.py
src/MEDLoader/Swig/MEDLoaderCouplingTrainingSession.py
src/MEDLoader/Swig/MEDLoaderDataForTest.py
src/MEDLoader/Swig/UsersGuideExamplesTest_ML.py
src/MEDLoader/Test/MCTestLauncher.py
src/MEDPartitioner/Test/MEDPARTITIONERTest.cxx
src/MEDPartitioner_Swig/CTestTestfileInstall.cmake
src/ParaMEDMEM_Swig/ParaMEDMEMTestTools.py
src/PyWrapping/TestPyWrapGathered_medcoupling.py
src/RENUMBER_Swig/CTestTestfileInstall.cmake
src/RENUMBER_Swig/UsersGuideExamplesTest.py

index 2dd2abcc6e74d6e5b6612ae23b7df810438dd0ac..f834e7590afb5538a5f197f85d14a7cd778144ea 100644 (file)
 #
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 
 import unittest
 from math import pi,e,sqrt,cos,sin
index ef75ebf43535919c5fd553b9187af3700a1c9415..6018ba3f1db31ca917148a6b84a127b078f438a3 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
index ef24dfb421632373f54b4866d88eb6ebcd3fa302..59e0c83c3eb3dcb47b7c2cd0b704c049a4cf3fff 100644 (file)
 #
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
index b2850aca8ad9b0ef5c97cfb50047a241fdda832e..443a957e11b38fbe54c3873004c8c45c0c3a7cb6 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
index 58fba2e0237324521435429fd070472660ef3cbb..c8864d1bac11b4ab395ea9f01f474eb02e85f356 100644 (file)
 #
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 
 import unittest
 from math import pi,e,sqrt,cos,sin
index dacf44203f1dc0304c35306de0eab4df5544a12b..38ffb06c4df975bbe88df779bbe5a951c8394a2e 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
index 3a5cacd9f0488651cdf05a65934a554c76665c10..7f43e34b02cf55b4c8b25680791bbbb8fb31d47a 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
index 88495dd3865189bd9ed47152d0f3b3376f0f26a8..54ec15bd0ae443c2a601947531a233be75f61308 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 
 class MEDCouplingDataForTest:
     def build2DTargetMesh_1(cls):
index 5cb37f82037bab808f9ca8c96392b26dc495b4f3..6035b8242cc0405770df750da768df5a05f03000 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 import unittest
 from math import pi, sqrt
 
@@ -34,6 +31,10 @@ def WriteInTmpDir(func):
         with tempfile.TemporaryDirectory() as tmpdirname:
             os.chdir(tmpdirname)
             ret = func(*args,**kwargs)
+            # on windows, if we remain in this temporary directory
+            # Windows will lock it and deletion attempt will fail
+            if sys.platform == "win32":
+                os.chdir(os.path.dirname(tmpdirname))
             pass
         return ret
     return decoratedFunc
index 1712b314ed8a9256ff0c1609386ea35a039bb81b..f49da20ce1ef6d4122d53f0026270f77cef5ad55 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
index 2903e8fd06e1c10a4de48b7fd56293fc55f35a87..b837feb751536cf542da1c7187c9ed92f437d88e 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 
 if MEDCouplingHasNumPyBindings():
     from numpy import *
index d8fbd0c48f98ea07e2de2d45e421875f73163bb6..f095af34774074da23f8dc659741a65d76008f8a 100644 (file)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 from MEDCouplingDataForTest import MEDCouplingDataForTest
 
 if MEDCouplingHasNumPyBindings():
index 40d966dae1aeb6d2383ecdc031c67f9fa9e7082e..56f8121a9f02fad8ae1e2ed20afeea9da59748f9 100755 (executable)
 
 
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 from math import pi, sqrt
 
 # ! [PySnippetUMeshStdBuild1_1]
index 8a1bf605f17833390c64767a1fefe958e5993334..607d9992a167f5f8974808cb3ff7b5317d5d9fd3 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 import sys
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 
 from math import pi, sqrt
 
index 703bd84f9ba9e7908c8217791124b5806a610a98..d13a3261811dc5cafb87bdc2ea0790ff8c9d1752 100644 (file)
@@ -21,7 +21,7 @@
 
 from MEDLoader import *
 from MEDCouplingRemapper import *
-import math, os
+import math, sys
 import tempfile,os,shutil
 
 zeDir = tempfile.mkdtemp()
@@ -600,4 +600,9 @@ omega=sum(angle2)/(ts[-1][2]-ts[0][2])
 print(sum(angle2)) ; assert abs(sum(angle2)-1.12)<1e-2
 print("Au pdt (%d,%d) a %r s le couple est de : %r N.m, power/omega=%r N.m"%(ts[2][0],ts[2][1],ts[2][2],zeTorque[2],power/omega))
 assert abs(power/omega-0.37)<1e-2
+
+# on windows, if we remain in this temporary directory
+# Windows will lock it and deletion attempt will fail
+if sys.platform == "win32":
+  os.chdir(os.path.dirname(zeDir))
 shutil.rmtree(zeDir)
index 759acc451588369cf48687a3c9abd1092da2d432..84795152f1e9f56dbef379d3ca431a2be0549faa 100644 (file)
@@ -21,6 +21,7 @@
 
 from MEDLoader import *
 from math import pi,e,sqrt
+import sys
 
 def WriteInTmpDir(func):
     def decaratedFunc(*args,**kwargs):
@@ -29,6 +30,10 @@ def WriteInTmpDir(func):
         with tempfile.TemporaryDirectory() as tmpdirname:
             os.chdir(tmpdirname)
             ret = func(*args,**kwargs)
+            # on windows, if we remain in this temporary directory
+            # Windows will lock it and deletion attempt will fail
+            if sys.platform == "win32":
+                os.chdir(os.path.dirname(tmpdirname))
             pass
         return ret
     return decaratedFunc
index 2ffef81961d11529a8135184162341f506554e80..675d5814f454f745c022c8d610728d5dc5d2e718 100644 (file)
@@ -19,8 +19,7 @@
 #
 
 from MEDLoader import *
-import os
-import tempfile,os,shutil
+import tempfile, os, sys, shutil
 
 zeDir = tempfile.mkdtemp()
 os.chdir(zeDir)
@@ -188,4 +187,9 @@ for ff1TS in ff:
     field=ff1TS.getFieldAtLevel(ON_CELLS,level)
     field=ff1TS.getFieldOnMeshAtLevel(ON_CELLS,level,mm)
 #! [UG_RWFieldAdv_5]
+
+# on windows, if we remain in this temporary directory
+# Windows will lock it and deletion attempt will fail
+if sys.platform == "win32":
+    os.chdir(os.path.dirname(zeDir))
 shutil.rmtree(zeDir)
index 86759b2ec942b5e8114cbf12631eadc5423c8f3c..e70fac9f9f587226810248c2b6ea63fc6f846e34 100644 (file)
@@ -28,4 +28,8 @@ with tempfile.TemporaryDirectory() as tmpdirname:
     os.chdir(tmpdirname)
     p = sp.check_output(full_path)
     print(p.decode())
+    # on windows, if we remain in this temporary directory
+    # Windows will lock it and deletion attempt will fail
+    if sys.platform == "win32":
+        os.chdir(os.path.dirname(tmpdirname))
     pass
index bfeb394e854e0993be30634c6f6985cef11bb028..462912b24ee74fd4e8fac17da74f53febd8df29b 100644 (file)
@@ -93,13 +93,22 @@ std::string MEDPARTITIONERTest::getPartitionerExe() const
   if ( getenv("MEDCOUPLING_ROOT_DIR") )
     {
       execName=getenv("MEDCOUPLING_ROOT_DIR");  //.../INSTALL/MED
+#ifndef WIN32
       execName+="/bin/medpartitioner";
+#else
+      execName+="\\bin\\medpartitioner.exe";
+#endif
       std::ifstream my_file(execName.c_str());
       if (my_file.good())
         return execName;
     }
   execName = getcwd(NULL, 0);
+#ifndef WIN32
   execName += "/../../MEDPartitioner/medpartitioner";
+#else
+  execName += "\\..\\..\\MEDPartitioner\\medpartitioner.exe";
+#endif
+
   if (! std::ifstream(execName.c_str()))
     CPPUNIT_FAIL("Can't find medpartitioner, please set MEDCOUPLING_ROOT_DIR");
   return execName;
@@ -996,8 +1005,11 @@ void MEDPARTITIONERTest::launchMetisOrScotchMedpartitionerOnTestMeshes(std::stri
   string cmd,execName,sourceName,targetName;
 
   execName=getPartitionerExe();
-
+#ifndef WIN32
   cmd="which "+execName+" 2>/dev/null 1>/dev/null";  //no trace
+#else
+  cmd="dir "+execName+" > NUL 2>&1";  //no trace
+#endif
   res=system(cmd.c_str());
   CPPUNIT_ASSERT_EQUAL_MESSAGE(execName + " - INVALID PATH TO medpartitioner", 0, res);
 
index 5b0074a1c92ce189ba795322e6aa24001678964d..f0e7db6fd5b51d47ee32182c8f162bc3bed0715d 100644 (file)
@@ -21,12 +21,20 @@ SET(TEST_NAMES
   MEDPartitionerTest
 )
 
+SET(PYTHONPATH $ENV{PYTHONPATH})
+IF(WIN32)
+  SET(PYTHONPATH "$ENV{PYTHONPATH};../../bin")
+ELSE(WIN32)
+  SET(PYTHONPATH "$ENV{PYTHONPATH}:../../bin")
+ENDIF(WIN32)
+
 FOREACH(tfile ${TEST_NAMES})
   SET(TEST_NAME ${COMPONENT_NAME}_${tfile})
   ADD_TEST(${TEST_NAME} python ${tfile}.py)
   SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES
     LABELS "${COMPONENT_NAME}"
     TIMEOUT ${TIMEOUT}
-    ENVIRONMENT "PYTHONPATH=../../bin:$ENV{PYTHONPATH}"
+    ENVIRONMENT "${PYTHONPATH}"
+
     )
 ENDFOREACH()
index 60280d189d4cc8412a394f4bc51edb542863cab7..51691651c9995b693b667dec95ec5266840f1cec 100644 (file)
 
 def WriteInTmpDir(func):
     def decaratedFunc(*args,**kwargs):
-        import tempfile,os
+        import tempfile,os, sys
         ret = None
         with tempfile.TemporaryDirectory() as tmpdirname:
             os.chdir(tmpdirname)
             ret = func(*args,**kwargs)
+            # on windows, if we remain in this temporary directory
+            # Windows will lock it and deletion attempt will fail
+            if sys.platform == "win32":
+                os.chdir(os.path.dirname(tmpdirname))
             pass
         return ret
     return decaratedFunc
index 53a97d49220d6a4c5ffdded423b228983436dc76..f933d7ce936543ea35c9c526af6df50e4d9b3545 100644 (file)
@@ -25,11 +25,15 @@ import unittest
 
 def WriteInTmpDir(func):
     def decoratedFunc(*args,**kwargs):
-        import tempfile,os
+        import tempfile,os, sys
         ret = None
         with tempfile.TemporaryDirectory() as tmpdirname:
             os.chdir(tmpdirname)
             ret = func(*args,**kwargs)
+            # on windows, if we remain in this temporary directory
+            # Windows will lock it and deletion attempt will fail
+            if sys.platform == "win32":
+                os.chdir(os.path.dirname(tmpdirname))
             pass
         return ret
     return decoratedFunc
index 09e57cacf3df2a67776b5a1f2b6e34abfce288e0..ccf32c2d0349c5224348909fefa42b3874de5ead 100644 (file)
@@ -21,13 +21,21 @@ SET(TEST_NAMES
   MEDRenumberTest
 )
 
+SET(PYTHONPATH $ENV{PYTHONPATH})
+IF(WIN32)
+  SET(PYTHONPATH "$ENV{PYTHONPATH};../../bin")
+ELSE(WIN32)
+  SET(PYTHONPATH "$ENV{PYTHONPATH}:../../bin")
+ENDIF(WIN32)
+
 FOREACH(tfile ${TEST_NAMES})
   SET(TEST_NAME ${COMPONENT_NAME}_${tfile})
   ADD_TEST(${TEST_NAME} python ${tfile}.py)
+  SET(TEST_ENVIRONMENT)
   SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES
     LABELS "${COMPONENT_NAME}"
     TIMEOUT ${TIMEOUT}
-    ENVIRONMENT "PYTHONPATH=../../bin:$ENV{PYTHONPATH}"
+    ENVIRONMENT "${PYTHONPATH}"
     )
 ENDFOREACH()
 
@@ -36,5 +44,5 @@ ADD_TEST(${TEST_NAME} python UsersGuideExamplesTest.py)
 SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES
   LABELS "${COMPONENT_NAME}"
   TIMEOUT ${TIMEOUT}
-  ENVIRONMENT "PYTHONPATH=../../bin:$ENV{PYTHONPATH}"
+  ENVIRONMENT "${PYTHONPATH}"
   )
index c4639069f53536c72c0810000b1f9e2ec90b2b72..cc851db0d93c7793ffa73f1d0a83d44467ed916b 100644 (file)
 
 import sys
 
-if sys.platform == "win32":
-    from MEDCouplingCompat import *
-else:
-    from medcoupling import *
+from medcoupling import *
 
 from math import pi, sqrt