]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
[EDF19821] : Temp files for tests are no more created into the current directory...
authorAnthony Geay <anthony.geay@edf.fr>
Wed, 17 Jul 2019 15:00:37 +0000 (17:00 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Fri, 19 Jul 2019 06:19:07 +0000 (08:19 +0200)
18 files changed:
src/MEDLoader/Swig/MEDLoaderCouplingTrainingSession.py
src/MEDLoader/Swig/MEDLoaderDataForTest.py
src/MEDLoader/Swig/MEDLoaderExamplesTest.py
src/MEDLoader/Swig/MEDLoaderTest1.py
src/MEDLoader/Swig/MEDLoaderTest2.py
src/MEDLoader/Swig/MEDLoaderTest3.py
src/MEDLoader/Swig/MEDLoaderTest4.py
src/MEDLoader/Swig/SauvLoaderTest.py
src/MEDLoader/Swig/UsersGuideExamplesTest.py
src/MEDLoader/Test/CMakeLists.txt
src/MEDLoader/Test/CTestTestfileInstall.cmake
src/MEDLoader/Test/MCTestLauncher.py [new file with mode: 0644]
src/MEDPartitioner/Test/CMakeLists.txt
src/MEDPartitioner/Test/CTestTestfileInstall.cmake
src/MEDPartitioner_Swig/MEDPartitionerTest.py
src/RENUMBER_Swig/CMakeLists.txt
src/RENUMBER_Swig/CTestTestfileInstall.cmake
src/RENUMBER_Swig/UsersGuideExamplesTest.py

index 5103c7e59a1848d7715dc47427cbf62eff61e54f..4bdc6233cd830fa60b121999fd4804c9d6e5438f 100644 (file)
 from MEDLoader import *
 from MEDCouplingRemapper import *
 import math, os
+import tempfile,os,shutil
+
+zeDir = tempfile.mkdtemp()
+os.chdir(zeDir)
 
 d=DataArrayDouble.New(6,2)
 d[:,0]=3.
@@ -596,3 +600,4 @@ 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
+shutil.rmtree(zeDir)
index 744e8f23f919a463bcb46f1208bd3e7e1a3cd4ee..e752c8ca88a2705f16b086aa39a402ee4c4eb0d2 100644 (file)
 from MEDLoader import *
 from math import pi,e,sqrt
 
+def WriteInTmpDir(func):
+    def decaratedFunc(*args,**kwargs):
+        import tempfile,os
+        ret = None
+        with tempfile.TemporaryDirectory() as tmpdirname:
+            os.chdir(tmpdirname)
+            ret = func(*args,**kwargs)
+            pass
+        return ret
+    return decaratedFunc
+
 class MEDLoaderDataForTest:
     def build1DMesh_1(cls):
         coords=[ 0.0, 0.3, 0.75, 1.0, 1.4, 1.3 ]
@@ -726,3 +737,269 @@ class MEDLoaderDataForTest:
     buildACompleteMEDDataStructureWithFieldsOnCells_1=classmethod(buildACompleteMEDDataStructureWithFieldsOnCells_1)
     buildAMEDFileDataWithGroupOnOneFamilyForSauv=classmethod(buildAMEDFileDataWithGroupOnOneFamilyForSauv)
     pass
+
+def TestWriteUMeshesRW1(tester):
+    fileName="Pyfile18.med";
+    m3d=MEDLoaderDataForTest.build3DMesh_2();
+    pt=[0.,0.,-0.3]
+    vec=[0.,0.,1.]
+    nodes=m3d.findNodesOnPlane(pt,vec,1e-12);
+    m2d=m3d.buildFacePartOfMySelfNode(nodes,True);
+    renumber=[1,2,0,4,3]
+    m2d.renumberCells(renumber,False);
+    m2d.setName("ExampleOfMultiDimW");
+    meshes=[m2d,m3d]
+    WriteUMeshes(fileName,meshes,False);
+    m3d_bis=ReadUMeshFromFile(fileName,m2d.getName(),0);
+    tester.assertTrue(not m3d_bis.isEqual(m3d,1e-12));
+    m3d_bis.setName(m3d.getName());
+    tester.assertTrue(m3d_bis.isEqual(m3d,1e-12));
+    m2d_bis=ReadUMeshFromFile(fileName,m2d.getName(),-1);#-1 for faces
+    tester.assertTrue(m2d_bis.isEqual(m2d,1e-12));
+    # Creation of a field on faces.
+    f1=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
+    f1.setName("FieldOnFacesShuffle");
+    f1.setMesh(m2d);
+    array=DataArrayDouble.New();
+    arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
+    array.setValues(arr1,m2d.getNumberOfCells(),2);
+    array.setInfoOnComponent(0,"plkj [mm]");
+    array.setInfoOnComponent(1,"pqqqss [mm]");
+    f1.setArray(array);
+    tmp=array.setValues(arr1,m2d.getNumberOfCells(),2);
+    f1.setTime(3.14,2,7);
+    f1.checkConsistencyLight();
+    WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+    f2=ReadFieldCell(fileName,f1.getMesh().getName(),-1,f1.getName(),2,7);
+    tester.assertTrue(f2.isEqual(f1,1e-12,1e-12));
+    pass
+
+def TestMultiFieldShuffleRW1(tester):
+    fileName="Pyfile17.med";
+    m=MEDLoaderDataForTest.build3DMesh_2();
+    tester.assertEqual(20,m.getNumberOfCells());
+    tester.assertEqual(45,m.getNumberOfNodes());
+    polys=[1,4,6]
+    m.convertToPolyTypes(polys);
+    renum=[1,3,2,8,9,12,13,16,19,0,4,7,5,15,14,17,10,18,6,11]
+    m.renumberCells(renum,False);
+    m.orientCorrectlyPolyhedrons();
+    # Writing
+    WriteUMeshDep(fileName,m,False);
+    f1Tmp=m.getMeasureField(False);
+    f1=f1Tmp.buildNewTimeReprFromThis(ONE_TIME,False);
+    f1.setTime(0.,1,2);
+    f_1=f1.cloneWithMesh(True);
+    WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+    f1.applyFunc("2*x");
+    f1.setTime(0.01,3,4);
+    f_2=f1.cloneWithMesh(True);
+    WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+    f1.applyFunc("2*x/3");
+    f1.setTime(0.02,5,6);
+    f_3=f1.cloneWithMesh(True);
+    WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+    # Reading
+    its=[(1,2),(3,4),(5,6)];
+    fs=ReadFieldsOnSameMesh(ON_CELLS,fileName,f_1.getMesh().getName(),0,f_1.getName(),its);
+    tester.assertEqual(3,len(fs));
+    tester.assertTrue(fs[0].isEqual(f_1,1e-12,1e-12));
+    tester.assertTrue(fs[1].isEqual(f_2,1e-12,1e-12));
+    tester.assertTrue(fs[2].isEqual(f_3,1e-12,1e-12));
+
+def GeneratePyfile13(tester):
+    fileName="Pyfile13.med";
+    f1=MEDLoaderDataForTest.buildVecFieldOnGauss_1();
+    WriteField(fileName,f1,True);
+    f2=ReadField(ON_GAUSS_PT,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
+    tester.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+    pass
+
+def GeneratePyfile14(tester):
+    fileName="Pyfile14.med";
+    f1=MEDLoaderDataForTest.buildVecFieldOnGaussNE_1();
+    WriteField(fileName,f1,True);
+    tester.assertEqual([ON_GAUSS_NE],GetTypesOfField(fileName,'2DMesh_2','MyFieldOnGaussNE')) #Bug 22/5/2014
+    f2=ReadField(ON_GAUSS_NE,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
+    tester.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+
+
+def GeneratePyfile18(tester):
+    fileName="Pyfile18.med";
+    m3d=MEDLoaderDataForTest.build3DMesh_2();
+    pt=[0.,0.,-0.3]
+    vec=[0.,0.,1.]
+    nodes=m3d.findNodesOnPlane(pt,vec,1e-12);
+    m2d=m3d.buildFacePartOfMySelfNode(nodes,True);
+    renumber=[1,2,0,4,3]
+    m2d.renumberCells(renumber,False);
+    m2d.setName("ExampleOfMultiDimW");
+    meshes=[m2d,m3d]
+    WriteUMeshes(fileName,meshes,True);
+    m3d_bis=ReadUMeshFromFile(fileName,m2d.getName(),0);
+    tester.assertTrue(not m3d_bis.isEqual(m3d,1e-12));
+    m3d_bis.setName(m3d.getName());
+    tester.assertTrue(m3d_bis.isEqual(m3d,1e-12));
+    m2d_bis=ReadUMeshFromFile(fileName,m2d.getName(),-1);#-1 for faces
+    tester.assertTrue(m2d_bis.isEqual(m2d,1e-12));
+    # Creation of a field on faces.
+    f1=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
+    f1.setName("FieldOnFacesShuffle");
+    f1.setMesh(m2d);
+    array=DataArrayDouble.New();
+    arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
+    array.setValues(arr1,m2d.getNumberOfCells(),2);
+    array.setInfoOnComponent(0,"plkj [mm]");
+    array.setInfoOnComponent(1,"pqqqss [mm]");
+    f1.setArray(array);
+    tmp=array.setValues(arr1,m2d.getNumberOfCells(),2);
+    f1.setTime(3.14,2,7);
+    f1.checkConsistencyLight();
+    WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+    f2=ReadFieldCell(fileName,f1.getMesh().getName(),-1,f1.getName(),2,7);
+    tester.assertTrue(f2.isEqual(f1,1e-12,1e-12));
+    
+def GeneratePyfile19(tester):
+    fileName="Pyfile19.med";
+    fileName2="Pyfile20.med";
+    m=MEDLoaderDataForTest.build2DMesh_1();
+    nbOfNodes=m.getNumberOfNodes();
+    WriteUMesh(fileName,m,True);
+    f1=MEDCouplingFieldDouble.New(ON_NODES,ONE_TIME);
+    f1.setName("VFieldOnNodes");
+    f1.setMesh(m);
+    array=DataArrayDouble.New();
+    arr1=[1.,101.,2.,102.,3.,103.,4.,104.,5.,105.,6.,106.,7.,107.,8.,108.,9.,109.,10.,110.,11.,111.,12.,112.]
+    array.setValues(arr1,nbOfNodes,2);
+    f1.setArray(array);
+    array.setInfoOnComponent(0,"tyty [mm]");
+    array.setInfoOnComponent(1,"uiop [MW]");
+    f1.setTime(3.14,2,7);
+    f1.checkConsistencyLight();
+    arr2=[1,4]
+    f2=f1.buildSubPart(arr2);
+    f2.getMesh().setName(f1.getMesh().getName());
+    WriteField(fileName,f2,False);#<- False important for the test
+    #
+    f3=ReadFieldNode(fileName,f2.getMesh().getName(),0,f2.getName(),2,7);
+    f3.checkConsistencyLight();
+    tester.assertTrue(f3.isEqual(f2,1e-12,1e-12));
+    #
+    arr3=[1,3,0,5,2,4]
+    f2.renumberNodes(arr3);
+    WriteUMesh(fileName2,m,True);
+    WriteField(fileName2,f2,False);#<- False important for the test
+    f3=ReadFieldNode(fileName2,f2.getMesh().getName(),0,f2.getName(),2,7);
+    f3.checkConsistencyLight();
+    tester.assertTrue(f3.isEqual(f2,1e-12,1e-12));
+    #
+    pass
+
+def GeneratePyfile7(tester):
+    f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
+    WriteField("Pyfile6.med",f1,True);
+    f2=ReadFieldCell("Pyfile6.med",f1.getMesh().getName(),0,f1.getName(),0,1);
+    tester.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+    #
+    f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
+    WriteField("Pyfile7.med",f1,True);
+    f2=ReadFieldNode("Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
+    tester.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+    tester.assertRaises(Exception,ReadFieldCell,"Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
+    pass
+
+def GeneratePyfile12(tester):
+    fileName="Pyfile12.med";
+    mesh1=MEDLoaderDataForTest.build3DMesh_1();
+    da,b,newNbOfNodes=mesh1.mergeNodes(1e-12);
+    WriteUMesh(fileName,mesh1,True);
+    part1=[1,2,4,13,15]
+    mesh2=mesh1.buildPartOfMySelf(part1,True);
+    mesh2.setName(mesh1.getName());#<- important for the test
+    #
+    nbOfCells=mesh2.getNumberOfCells();
+    tester.assertEqual(5,nbOfCells);
+    f1=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
+    f1.setName("VectorFieldOnCells");
+    f1.setMesh(mesh2);
+    array=DataArrayDouble.New();
+    array.alloc(nbOfCells,2);
+    f1.setArray(array);
+    arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
+    array.setValues(arr1,nbOfCells,2);
+    f1.setTime(3.14,2,7);
+    f1.checkConsistencyLight();
+    #
+    WriteField(fileName,f1,False);#<- False important for the test
+    #
+    f2=ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
+    tt=GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
+    tester.assertEqual(tt,[ON_CELLS]);
+    f2.checkConsistencyLight();
+    tester.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+
+def GeneratePyfile10(tester):
+    fileName="Pyfile10.med";
+    mesh1=MEDLoaderDataForTest.build3DMesh_1();
+    part1=[1,2,4,13,15]
+    mesh2=mesh1.buildPartOfMySelf(part1,True);
+    mesh2.setName("mesh2");
+    part2=[3,4,13,14]
+    mesh3=mesh1.buildPartOfMySelf(part2,True);
+    mesh3.setName("mesh3");
+    mesh4=MEDCouplingUMesh.New();
+    mesh4.setName("mesh4");
+    mesh4.setMeshDimension(3);
+    mesh4.allocateCells(1);
+    conn=[0,11,1,3]
+    mesh4.insertNextCell(NORM_TETRA4,4,conn[0:4])
+    mesh4.finishInsertingCells();
+    mesh4.setCoords(mesh1.getCoords());
+    meshes=[mesh1,mesh2,mesh3,mesh4]
+    mnane="3DToto";
+    WriteUMeshesPartition(fileName,mnane,meshes,True);
+    #
+    mesh5=ReadUMeshFromFile(fileName,mnane);
+    mesh1.setName(mnane);
+    part3=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
+    mesh6=mesh5.buildPartOfMySelf(part3,True);
+    mesh6.setName(mnane);
+    tester.assertTrue(mesh6.isEqual(mesh1,1e-12));
+    grps=GetMeshGroupsNames(fileName,mnane);
+    tester.assertEqual(4,len(grps));
+    grps.index("mesh2");
+    grps.index("mesh3");
+    grps.index("mesh4");
+    grps.index("3DMesh_1");
+    #
+    vec=("mesh2",);
+    mesh2_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
+    tester.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
+    vec=["mesh3"];
+    mesh3_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
+    tester.assertTrue(mesh3_2.isEqual(mesh3,1e-12));
+    vec=["mesh4"];
+    mesh4_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
+    tester.assertTrue(mesh4_2.isEqual(mesh4,1e-12));
+    vec="3DMesh_1";
+    mesh1_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
+    mesh1.setName("3DMesh_1");
+    tester.assertTrue(mesh1_2.isEqual(mesh1,1e-12));
+    #
+    vec=["Family_-3","Family_-5"];
+    mesh2_2=ReadUMeshFromFamilies(fileName,mnane,0,vec);
+    mesh2_2.setName("mesh2");
+    tester.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
+    #
+    ret=GetMeshFamiliesNamesOnGroup(fileName,"3DToto","3DMesh_1");
+    tester.assertEqual(4,len(ret));
+    ref=['Family_-3','Family_-4','Family_-2','Family_-5']
+    tester.assertIn(ref[0],ret);
+    tester.assertIn(ref[1],ret);
+    tester.assertIn(ref[2],ret);
+    tester.assertIn(ref[3],ret);
+    #
+    ret1=GetMeshGroupsNamesOnFamily(fileName,"3DToto","Family_-3");
+    tester.assertEqual(2,len(ret1));
+    tester.assertEqual(ret1[0],"3DMesh_1");
+    tester.assertEqual(ret1[1],"mesh2");
index da534c4d6df978d10244b1194ed00666c64865f4..e8448d7ce11b9365a3ca3ade6f8636cc56ccdd50 100644 (file)
 from MEDLoader import *
 import unittest
 import os
+from MEDLoaderDataForTest import WriteInTmpDir
 
 class MEDLoaderBasicsTest(unittest.TestCase):
+    @WriteInTmpDir
     def testExampleReadFieldOnAllEntity1(self):
         from MEDLoaderDataForTest import MEDLoaderDataForTest
 #! [PySnippetReadFieldOnAllEntity1_1]
@@ -78,6 +80,7 @@ class MEDLoaderBasicsTest(unittest.TestCase):
 #! [PySnippetReadFieldOnAllEntity1_5]
         pass
 
+    @WriteInTmpDir
     def testExampleReadFieldPartial1(self):
         from MEDLoaderDataForTest import MEDLoaderDataForTest
 #! [PySnippetReadFieldPartial1_1]
@@ -155,6 +158,7 @@ class MEDLoaderBasicsTest(unittest.TestCase):
 #! [PySnippetReadFieldPartial1_6]
         pass
 
+    @WriteInTmpDir
     def testExampleMeshAdvAPI1(self):
         da=DataArrayDouble.New([0.,1.1,2.3,3.6])
         meshName="Example2"
index 128b12af4f7c140e95b5d28ea63947e318d3ec69..88ab6939d74f50d392bc60b845bccd75e61e88d0 100644 (file)
 import MEDLoader
 import unittest
 from math import pi,e,sqrt
-from MEDLoaderDataForTest import MEDLoaderDataForTest
+from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
+from MEDLoaderDataForTest import GeneratePyfile7,GeneratePyfile10,GeneratePyfile12,GeneratePyfile13,GeneratePyfile14,GeneratePyfile18,GeneratePyfile19
 
 class MEDLoaderTest1(unittest.TestCase):
+    @WriteInTmpDir
     def testMesh1DRW(self):
         mesh=MEDLoaderDataForTest.build1DMesh_1();
         mesh.checkConsistencyLight();
@@ -33,6 +35,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh2DCurveRW(self):
         mesh=MEDLoaderDataForTest.build2DCurveMesh_1();
         mesh.checkConsistencyLight();
@@ -41,6 +44,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh2DRW(self):
         mesh=MEDLoaderDataForTest.build2DMesh_1();
         mesh.checkConsistencyLight();
@@ -49,6 +53,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh3DSurfRW(self):
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
         mesh.checkConsistencyLight();
@@ -57,6 +62,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh3DRW(self):
         mesh=MEDLoaderDataForTest.build3DMesh_1();
         mesh.checkConsistencyLight();
@@ -65,19 +71,12 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testFieldRW1(self):
-        f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
-        MEDLoader.WriteField("Pyfile6.med",f1,True);
-        f2=MEDLoader.ReadFieldCell("Pyfile6.med",f1.getMesh().getName(),0,f1.getName(),0,1);
-        self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
-        #
-        f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
-        MEDLoader.WriteField("Pyfile7.med",f1,True);
-        f2=MEDLoader.ReadFieldNode("Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
-        self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
-        self.assertRaises(Exception,MEDLoader.ReadFieldCell,"Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
+        GeneratePyfile7(self)
         pass
 
+    @WriteInTmpDir
     def testFieldRW2(self):
         fileName="Pyfile8.med";
         VAL1=12345.67890314;
@@ -131,6 +130,7 @@ class MEDLoaderTest1(unittest.TestCase):
     #
     # Multi field in a same file, but this field has several
     #
+    @WriteInTmpDir
     def testFieldRW3(self):
         fileName="Pyfile11.med";
         VAL1=12345.67890314;
@@ -205,122 +205,28 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertAlmostEqual(VAL2,f1.getArray().getIJ(0,3),13);
         pass
 
+    @WriteInTmpDir
     def testMultiMeshRW1(self):
-        fileName="Pyfile10.med";
-        mesh1=MEDLoaderDataForTest.build3DMesh_1();
-        part1=[1,2,4,13,15]
-        mesh2=mesh1.buildPartOfMySelf(part1,True);
-        mesh2.setName("mesh2");
-        part2=[3,4,13,14]
-        mesh3=mesh1.buildPartOfMySelf(part2,True);
-        mesh3.setName("mesh3");
-        mesh4=MEDLoader.MEDCouplingUMesh.New();
-        mesh4.setName("mesh4");
-        mesh4.setMeshDimension(3);
-        mesh4.allocateCells(1);
-        conn=[0,11,1,3]
-        mesh4.insertNextCell(MEDLoader.NORM_TETRA4,4,conn[0:4])
-        mesh4.finishInsertingCells();
-        mesh4.setCoords(mesh1.getCoords());
-        meshes=[mesh1,mesh2,mesh3,mesh4]
-        mnane="3DToto";
-        MEDLoader.WriteUMeshesPartition(fileName,mnane,meshes,True);
-        #
-        mesh5=MEDLoader.ReadUMeshFromFile(fileName,mnane);
-        mesh1.setName(mnane);
-        part3=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
-        mesh6=mesh5.buildPartOfMySelf(part3,True);
-        mesh6.setName(mnane);
-        self.assertTrue(mesh6.isEqual(mesh1,1e-12));
-        grps=MEDLoader.GetMeshGroupsNames(fileName,mnane);
-        self.assertEqual(4,len(grps));
-        grps.index("mesh2");
-        grps.index("mesh3");
-        grps.index("mesh4");
-        grps.index("3DMesh_1");
-        #
-        vec=("mesh2",);
-        mesh2_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
-        self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
-        vec=["mesh3"];
-        mesh3_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
-        self.assertTrue(mesh3_2.isEqual(mesh3,1e-12));
-        vec=["mesh4"];
-        mesh4_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
-        self.assertTrue(mesh4_2.isEqual(mesh4,1e-12));
-        vec="3DMesh_1";
-        mesh1_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
-        mesh1.setName("3DMesh_1");
-        self.assertTrue(mesh1_2.isEqual(mesh1,1e-12));
-        #
-        vec=["Family_-3","Family_-5"];
-        mesh2_2=MEDLoader.ReadUMeshFromFamilies(fileName,mnane,0,vec);
-        mesh2_2.setName("mesh2");
-        self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
-        #
-        ret=MEDLoader.GetMeshFamiliesNamesOnGroup(fileName,"3DToto","3DMesh_1");
-        self.assertEqual(4,len(ret));
-        ref=['Family_-3','Family_-4','Family_-2','Family_-5']
-        self.assertIn(ref[0],ret);
-        self.assertIn(ref[1],ret);
-        self.assertIn(ref[2],ret);
-        self.assertIn(ref[3],ret);
-        #
-        ret1=MEDLoader.GetMeshGroupsNamesOnFamily(fileName,"3DToto","Family_-3");
-        self.assertEqual(2,len(ret1));
-        self.assertEqual(ret1[0],"3DMesh_1");
-        self.assertEqual(ret1[1],"mesh2");
+        GeneratePyfile10(self)
         pass
 
+    @WriteInTmpDir
     def testFieldProfilRW1(self):
-        fileName="Pyfile12.med";
-        mesh1=MEDLoaderDataForTest.build3DMesh_1();
-        da,b,newNbOfNodes=mesh1.mergeNodes(1e-12);
-        MEDLoader.WriteUMesh(fileName,mesh1,True);
-        part1=[1,2,4,13,15]
-        mesh2=mesh1.buildPartOfMySelf(part1,True);
-        mesh2.setName(mesh1.getName());#<- important for the test
-        #
-        nbOfCells=mesh2.getNumberOfCells();
-        self.assertEqual(5,nbOfCells);
-        f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,MEDLoader.ONE_TIME);
-        f1.setName("VectorFieldOnCells");
-        f1.setMesh(mesh2);
-        array=MEDLoader.DataArrayDouble.New();
-        array.alloc(nbOfCells,2);
-        f1.setArray(array);
-        arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
-        array.setValues(arr1,nbOfCells,2);
-        f1.setTime(3.14,2,7);
-        f1.checkConsistencyLight();
-        #
-        MEDLoader.WriteField(fileName,f1,False);#<- False important for the test
-        #
-        f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
-        tt=MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
-        self.assertEqual(tt,[MEDLoader.ON_CELLS]);
-        f2.checkConsistencyLight();
-        self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+        GeneratePyfile12(self)
         #
         pass
 
+    @WriteInTmpDir
     def testFieldGaussRW1(self):
-        fileName="Pyfile13.med";
-        f1=MEDLoaderDataForTest.buildVecFieldOnGauss_1();
-        MEDLoader.WriteField(fileName,f1,True);
-        f2=MEDLoader.ReadField(MEDLoader.ON_GAUSS_PT,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
-        self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+        GeneratePyfile13(self)
         pass
 
+    @WriteInTmpDir
     def testFieldGaussNERW1(self):
-        fileName="Pyfile14.med";
-        f1=MEDLoaderDataForTest.buildVecFieldOnGaussNE_1();
-        MEDLoader.WriteField(fileName,f1,True);
-        self.assertEqual([MEDLoader.ON_GAUSS_NE],MEDLoader.GetTypesOfField(fileName,'2DMesh_2','MyFieldOnGaussNE')) #Bug 22/5/2014
-        f2=MEDLoader.ReadField(MEDLoader.ON_GAUSS_NE,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
-        self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
+        GeneratePyfile14(self)
         pass
 
+    @WriteInTmpDir
     def testMesh3DSurfShuffleRW(self):
         fileName="Pyfile15.med";
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
@@ -332,6 +238,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMultiFieldShuffleRW1(self):
         fileName="Pyfile17.med";
         m=MEDLoaderDataForTest.build3DMesh_2();
@@ -366,78 +273,17 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(fs[2].isEqual(f_3,1e-12,1e-12));
         pass
 
+    @WriteInTmpDir
     def testWriteUMeshesRW1(self):
-        fileName="Pyfile18.med";
-        m3d=MEDLoaderDataForTest.build3DMesh_2();
-        pt=[0.,0.,-0.3]
-        vec=[0.,0.,1.]
-        nodes=m3d.findNodesOnPlane(pt,vec,1e-12);
-        m2d=m3d.buildFacePartOfMySelfNode(nodes,True);
-        renumber=[1,2,0,4,3]
-        m2d.renumberCells(renumber,False);
-        m2d.setName("ExampleOfMultiDimW");
-        meshes=[m2d,m3d]
-        MEDLoader.WriteUMeshes(fileName,meshes,True);
-        m3d_bis=MEDLoader.ReadUMeshFromFile(fileName,m2d.getName(),0);
-        self.assertTrue(not m3d_bis.isEqual(m3d,1e-12));
-        m3d_bis.setName(m3d.getName());
-        self.assertTrue(m3d_bis.isEqual(m3d,1e-12));
-        m2d_bis=MEDLoader.ReadUMeshFromFile(fileName,m2d.getName(),-1);#-1 for faces
-        self.assertTrue(m2d_bis.isEqual(m2d,1e-12));
-        # Creation of a field on faces.
-        f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,MEDLoader.ONE_TIME);
-        f1.setName("FieldOnFacesShuffle");
-        f1.setMesh(m2d);
-        array=MEDLoader.DataArrayDouble.New();
-        arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
-        array.setValues(arr1,m2d.getNumberOfCells(),2);
-        array.setInfoOnComponent(0,"plkj [mm]");
-        array.setInfoOnComponent(1,"pqqqss [mm]");
-        f1.setArray(array);
-        tmp=array.setValues(arr1,m2d.getNumberOfCells(),2);
-        f1.setTime(3.14,2,7);
-        f1.checkConsistencyLight();
-        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
-        f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),-1,f1.getName(),2,7);
-        self.assertTrue(f2.isEqual(f1,1e-12,1e-12));
+        GeneratePyfile18(self)
         pass
 
+    @WriteInTmpDir
     def testFieldNodeProfilRW1(self):
-        fileName="Pyfile19.med";
-        fileName2="Pyfile20.med";
-        m=MEDLoaderDataForTest.build2DMesh_1();
-        nbOfNodes=m.getNumberOfNodes();
-        MEDLoader.WriteUMesh(fileName,m,True);
-        f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
-        f1.setName("VFieldOnNodes");
-        f1.setMesh(m);
-        array=MEDLoader.DataArrayDouble.New();
-        arr1=[1.,101.,2.,102.,3.,103.,4.,104.,5.,105.,6.,106.,7.,107.,8.,108.,9.,109.,10.,110.,11.,111.,12.,112.]
-        array.setValues(arr1,nbOfNodes,2);
-        f1.setArray(array);
-        array.setInfoOnComponent(0,"tyty [mm]");
-        array.setInfoOnComponent(1,"uiop [MW]");
-        f1.setTime(3.14,2,7);
-        f1.checkConsistencyLight();
-        arr2=[1,4]
-        f2=f1.buildSubPart(arr2);
-        f2.getMesh().setName(f1.getMesh().getName());
-        MEDLoader.WriteField(fileName,f2,False);#<- False important for the test
-        #
-        f3=MEDLoader.ReadFieldNode(fileName,f2.getMesh().getName(),0,f2.getName(),2,7);
-        f3.checkConsistencyLight();
-        self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
-        #
-        arr3=[1,3,0,5,2,4]
-        f2.renumberNodes(arr3);
-        MEDLoader.WriteUMesh(fileName2,m,True);
-        MEDLoader.WriteField(fileName2,f2,False);#<- False important for the test
-        f3=MEDLoader.ReadFieldNode(fileName2,f2.getMesh().getName(),0,f2.getName(),2,7);
-        f3.checkConsistencyLight();
-        self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
-        #
+        GeneratePyfile19(self)
         pass
 
+    @WriteInTmpDir
     def testFieldNodeProfilRW2(self):
         fileName="Pyfile23.med";
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
@@ -465,6 +311,7 @@ class MEDLoaderTest1(unittest.TestCase):
         #
         pass
 
+    @WriteInTmpDir
     def testMixCellAndNodesFieldRW1(self):
         fileName="Pyfile21.med";
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
@@ -517,6 +364,7 @@ class MEDLoaderTest1(unittest.TestCase):
         #
         pass
 
+    @WriteInTmpDir
     def testGetAllFieldNamesRW1(self):
         fileName="Pyfile22.med";
         mesh=MEDLoaderDataForTest.build2DMesh_2();
@@ -548,6 +396,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(fs[3]=="Field8");
         pass
 
+    @WriteInTmpDir
     def testBigNbOfCompoNonReg(self):
         fileName="Pyfile57.med"
         m=MEDLoader.MEDCouplingCMesh() ; m.setCoords(MEDLoader.DataArrayDouble([0,1,2,3]),MEDLoader.DataArrayDouble([0,1]),MEDLoader.DataArrayDouble([0,1]))
@@ -564,6 +413,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(f.isEqual(f2,1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testMultiMeshTypeWrite0(self):
         fname="Pyfile73.med"
         m=MEDLoader.MEDCoupling1SGTUMesh("mesh",MEDLoader.NORM_QUAD4) ; m.allocateCells()
@@ -613,6 +463,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(f.isEqual(fRead,1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testMultiMeshTypeWrite1(self):
         fname="Pyfile74.med"
         m=MEDLoader.MEDCoupling1SGTUMesh("mesh",MEDLoader.NORM_QUAD4) ; m.allocateCells()
@@ -660,6 +511,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(m0.isEqual(mRead,1e-12))
         pass
 
+    @WriteInTmpDir
     def testChangeGroupName(self):
         """ This test is a non regression test on MEDFileUMesh.changeGroupName thanks to Alliance.
         """
@@ -669,6 +521,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue("xonall1" in mesh.getGroupsNames())
         pass
 
+    @WriteInTmpDir
     def testFieldWithTooLongName(self):
         """ This test is a non regression test, to check that in basic API the policies are taken into account.
         """
@@ -712,6 +565,7 @@ class MEDLoaderTest1(unittest.TestCase):
         MEDLoader.WriteField(fname,f,True)
         pass
 
+    @WriteInTmpDir
     def testUsingAlreadyWrittenMesh2(self):
         """ This test focuses on MEDLoader.WriteFieldUsingAlreadyWrittenMesh with mesh different from UMesh.
         """
@@ -752,6 +606,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertTrue(f3r.getArray().isEqual(MEDLoader.DataArrayDouble([0.,4.,8.,12.,16.,20.,24.,28.,32.,36.,40.,44.,48.,52.,56.,60.,64.,68.,72.,76.]),1e-12))
         pass
 
+    @WriteInTmpDir
     def testEasyFieldRead1(self):
         fname="Pyfile111.med"
         arr=MEDLoader.DataArrayDouble(4) ; arr.iota()
@@ -872,6 +727,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertRaises(Exception,MEDLoader.ReadField,MEDLoader.ON_CELLS,fname,"mesh",0,"field2",5,5) # invalid time step
         pass
 
+    @WriteInTmpDir
     def testMultiWriteFieldOnMergeableNodesMeshes(self):
         fname="Pyfile120.med"
         arr=MEDLoader.DataArrayDouble([(0,0),(1,0),(0,1),(0,0),(1,0),(0,1)])
index 1ef6e757b59741691c41e6d292bca528cb2a7e72..00b2469b0cc5b401537154d58417d6628b75d405 100644 (file)
 from MEDLoader import *
 import unittest
 from math import pi,e,sqrt
-from MEDLoaderDataForTest import MEDLoaderDataForTest
+from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
+from MEDLoaderDataForTest import TestWriteUMeshesRW1,TestMultiFieldShuffleRW1
 
 class MEDLoaderTest2(unittest.TestCase):
+    @WriteInTmpDir
     def testMesh1DRW(self):
         mesh=MEDLoaderDataForTest.build1DMesh_1();
         mesh.checkConsistencyLight();
@@ -33,6 +35,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh2DCurveRW(self):
         mesh=MEDLoaderDataForTest.build2DCurveMesh_1();
         mesh.checkConsistencyLight();
@@ -41,6 +44,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh2DRW(self):
         mesh=MEDLoaderDataForTest.build2DMesh_1();
         mesh.checkConsistencyLight();
@@ -49,6 +53,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh3DSurfRW(self):
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
         mesh.checkConsistencyLight();
@@ -57,6 +62,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh3DRW(self):
         mesh=MEDLoaderDataForTest.build3DMesh_1();
         mesh.checkConsistencyLight();
@@ -65,6 +71,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testFieldRW1(self):
         f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
         WriteFieldDep("Pyfile6.med",f1,False);
@@ -77,6 +84,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
         pass
 
+    @WriteInTmpDir
     def testFieldRW2(self):
         fileName="Pyfile8.med";
         VAL1=12345.67890314;
@@ -128,6 +136,7 @@ class MEDLoaderTest2(unittest.TestCase):
     #
     # Multi field in a same file, but this field has several
     #
+    @WriteInTmpDir
     def testFieldRW3(self):
         fileName="Pyfile11.med";
         VAL1=12345.67890314;
@@ -201,6 +210,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertAlmostEqual(VAL2,f1.getArray().getIJ(0,3),13);
         pass
 
+    @WriteInTmpDir
     def testMultiMeshRW1(self):
         fileName="Pyfile10.med";
         mesh1=MEDLoaderDataForTest.build3DMesh_1();
@@ -255,6 +265,7 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMesh3DSurfShuffleRW(self):
         fileName="Pyfile15.med";
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
@@ -266,74 +277,14 @@ class MEDLoaderTest2(unittest.TestCase):
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMultiFieldShuffleRW1(self):
-        fileName="Pyfile17.med";
-        m=MEDLoaderDataForTest.build3DMesh_2();
-        self.assertEqual(20,m.getNumberOfCells());
-        self.assertEqual(45,m.getNumberOfNodes());
-        polys=[1,4,6]
-        m.convertToPolyTypes(polys);
-        renum=[1,3,2,8,9,12,13,16,19,0,4,7,5,15,14,17,10,18,6,11]
-        m.renumberCells(renum,False);
-        m.orientCorrectlyPolyhedrons();
-        # Writing
-        WriteUMeshDep(fileName,m,False);
-        f1Tmp=m.getMeasureField(False);
-        f1=f1Tmp.buildNewTimeReprFromThis(ONE_TIME,False);
-        f1.setTime(0.,1,2);
-        f_1=f1.cloneWithMesh(True);
-        WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
-        f1.applyFunc("2*x");
-        f1.setTime(0.01,3,4);
-        f_2=f1.cloneWithMesh(True);
-        WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
-        f1.applyFunc("2*x/3");
-        f1.setTime(0.02,5,6);
-        f_3=f1.cloneWithMesh(True);
-        WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
-        # Reading
-        its=[(1,2),(3,4),(5,6)];
-        fs=ReadFieldsOnSameMesh(ON_CELLS,fileName,f_1.getMesh().getName(),0,f_1.getName(),its);
-        self.assertEqual(3,len(fs));
-        self.assertTrue(fs[0].isEqual(f_1,1e-12,1e-12));
-        self.assertTrue(fs[1].isEqual(f_2,1e-12,1e-12));
-        self.assertTrue(fs[2].isEqual(f_3,1e-12,1e-12));
+        TestMultiFieldShuffleRW1(self)
         pass
 
+    @WriteInTmpDir
     def testWriteUMeshesRW1(self):
-        fileName="Pyfile18.med";
-        m3d=MEDLoaderDataForTest.build3DMesh_2();
-        pt=[0.,0.,-0.3]
-        vec=[0.,0.,1.]
-        nodes=m3d.findNodesOnPlane(pt,vec,1e-12);
-        m2d=m3d.buildFacePartOfMySelfNode(nodes,True);
-        renumber=[1,2,0,4,3]
-        m2d.renumberCells(renumber,False);
-        m2d.setName("ExampleOfMultiDimW");
-        meshes=[m2d,m3d]
-        WriteUMeshes(fileName,meshes,False);
-        m3d_bis=ReadUMeshFromFile(fileName,m2d.getName(),0);
-        self.assertTrue(not m3d_bis.isEqual(m3d,1e-12));
-        m3d_bis.setName(m3d.getName());
-        self.assertTrue(m3d_bis.isEqual(m3d,1e-12));
-        m2d_bis=ReadUMeshFromFile(fileName,m2d.getName(),-1);#-1 for faces
-        self.assertTrue(m2d_bis.isEqual(m2d,1e-12));
-        # Creation of a field on faces.
-        f1=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
-        f1.setName("FieldOnFacesShuffle");
-        f1.setMesh(m2d);
-        array=DataArrayDouble.New();
-        arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
-        array.setValues(arr1,m2d.getNumberOfCells(),2);
-        array.setInfoOnComponent(0,"plkj [mm]");
-        array.setInfoOnComponent(1,"pqqqss [mm]");
-        f1.setArray(array);
-        tmp=array.setValues(arr1,m2d.getNumberOfCells(),2);
-        f1.setTime(3.14,2,7);
-        f1.checkConsistencyLight();
-        WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
-        f2=ReadFieldCell(fileName,f1.getMesh().getName(),-1,f1.getName(),2,7);
-        self.assertTrue(f2.isEqual(f1,1e-12,1e-12));
+        TestWriteUMeshesRW1(self)
         pass
     pass
 
index 11753a1a030c9de6bca9c73a70ea708ef86480e2..4099e19e1c7c6aa281860fe1d5021e5a43878c23 100644 (file)
@@ -23,7 +23,8 @@ from MEDLoader import *
 import unittest
 import platform
 from math import pi,e,sqrt
-from MEDLoaderDataForTest import MEDLoaderDataForTest
+from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
+from MEDLoaderDataForTest import TestWriteUMeshesRW1,TestMultiFieldShuffleRW1,GeneratePyfile7,GeneratePyfile10,GeneratePyfile12,GeneratePyfile13,GeneratePyfile14,GeneratePyfile18,GeneratePyfile19
 from distutils.version import LooseVersion
 
 import sys
@@ -63,7 +64,9 @@ class StdOutRedirect(object):
         os.close(self.stdoutOld)
 
 class MEDLoaderTest3(unittest.TestCase):
+    @WriteInTmpDir
     def testMEDMesh1(self):
+        GeneratePyfile18(self)
         fileName="Pyfile18.med"
         mname="ExampleOfMultiDimW"
         medmesh=MEDFileMesh.New(fileName,mname)
@@ -77,7 +80,9 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(m2_0.isEqual(m2_1,1e-12));
         pass
 
+    @WriteInTmpDir
     def testMEDMesh2(self):
+        GeneratePyfile10(self)
         fileName="Pyfile10.med"
         mname="3DToto"
         outFileName="MEDFileMesh1.med"
@@ -120,6 +125,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # this tests emulates MEDMEM ( Except that it works ! ) The permutation are NOT taken into account
+    @WriteInTmpDir
     def testMEDMesh3(self):
         outFileName="MEDFileMesh3.med"
         c=DataArrayDouble.New()
@@ -235,6 +241,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # this test is the testMEDMesh3 except that permutation is dealed here
+    @WriteInTmpDir
     def testMEDMesh4(self):
         outFileName="MEDFileMesh4.med"
         c=DataArrayDouble.New()
@@ -342,7 +349,9 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     #testing persistence of retrieved arrays
+    @WriteInTmpDir
     def testMEDMesh5(self):
+        GeneratePyfile18(self)
         fileName="Pyfile18.med"
         mname="ExampleOfMultiDimW"
         medmesh=MEDFileUMesh.New(fileName,mname)
@@ -353,7 +362,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(20,da1.getNumberOfTuples())
         pass
 
-    def testMEDMesh6(self):
+    def internalMEDMesh6(self):
         outFileName="MEDFileMesh5.med"
         m=MEDFileCMesh.New()
         m.setTime(-1,-1,2.3)
@@ -400,8 +409,13 @@ class MEDLoaderTest3(unittest.TestCase):
         m1.setTimeUnit(m.getTimeUnit())
         m1.setDescription(m.getDescription())
         self.assertTrue(m2.isEqual(m1,1e-12));
+        
+    @WriteInTmpDir
+    def testMEDMesh6(self):
+        self.internalMEDMesh6()
         pass
 
+    @WriteInTmpDir
     def testMEDMesh7(self):
         fileName="Pyfile24.med"
         m2,m1,m0,f2,f1,f0,p,n2,n1,n0,fns,fids,grpns,famIdsPerGrp=MEDLoaderDataForTest.buildMultiLevelMesh_1()
@@ -447,7 +461,9 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     #emulation of pointe.med file.
+    @WriteInTmpDir
     def testMEDField1(self):
+        TestMultiFieldShuffleRW1(self)
         mm=MEDFileMesh.New("Pyfile17.med")
         mm.write("Pyfile17_bis.med",2)
         ff=MEDFileFieldMultiTS("Pyfile17.med")
@@ -471,7 +487,9 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     #profiles
+    @WriteInTmpDir
     def testMEDField2(self):
+        GeneratePyfile19(self)
         mm=MEDFileMesh.New("Pyfile19.med")
         mm.write("Pyfile19_bis.med",2)
         ff=MEDFileFieldMultiTS.New("Pyfile19.med")
@@ -480,7 +498,9 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     #gauss points
+    @WriteInTmpDir
     def testMEDField3(self):
+        GeneratePyfile13(self)
         mm=MEDFileMesh.New("Pyfile13.med")
         mm.write("Pyfile13_bis.med",2)
         ff=MEDFileFieldMultiTS.New("Pyfile13.med","MyFirstFieldOnGaussPoint")
@@ -498,7 +518,9 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     #gauss NE
+    @WriteInTmpDir
     def testMEDField4(self):
+        GeneratePyfile14(self)
         mm=MEDFileMesh.New("Pyfile14.med")
         mm.write("Pyfile14_bis.med",2)
         ff=MEDFileFieldMultiTS.New("Pyfile14.med","MyFieldOnGaussNE")
@@ -510,7 +532,9 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # MEDField get/set on pointe.med
+    @WriteInTmpDir
     def testMEDField5(self):
+        TestMultiFieldShuffleRW1(self)
         ff=MEDFileField1TS.New("Pyfile17.med","MeasureOfMesh_Extruded",1,2)
         f=ff.getFieldAtLevel(ON_CELLS,0)
         f2=ReadFieldCell("Pyfile17.med","Extruded",0,"MeasureOfMesh_Extruded",1,2)
@@ -531,13 +555,16 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # MEDField get/set on profiles nodes
+    @WriteInTmpDir
     def testMEDField6(self):
+        GeneratePyfile7(self)
         ff=MEDFileFieldMultiTS.New("Pyfile7.med","VectorFieldOnNodes")
         its=ff.getIterations()
         self.assertRaises(InterpKernelException,ff.getFieldAtLevel,ON_CELLS,its[0][0],its[0][1],0)# request on cell and it is not on cells
         f=ff.getFieldAtLevel(ON_NODES,its[0][0],its[0][1],0)
         f2=ReadFieldNode("Pyfile7.med",'3DSurfMesh_1',0,"VectorFieldOnNodes",its[0][0],its[0][1])
         self.assertTrue(f.isEqual(f2,1e-12,1e-12))
+        GeneratePyfile19(self)
         ff=MEDFileFieldMultiTS.New("Pyfile19.med","VFieldOnNodes")
         its=ff.getIterations()
         f=ff.getFieldAtLevel(ON_NODES,its[0][0],its[0][1],0)
@@ -548,7 +575,9 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # MEDField get/set on profiles cells
+    @WriteInTmpDir
     def testMEDField7(self):
+        GeneratePyfile12(self)
         ff=MEDFileFieldMultiTS.New("Pyfile12.med","VectorFieldOnCells")
         its=ff.getIterations()
         f=ff.getFieldAtLevel(ON_CELLS,its[0][0],its[0][1],0)
@@ -557,6 +586,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     #first test of assignation. No profile and types sorted by type.
+    @WriteInTmpDir
     def testMEDField8(self):
         fname="Pyfile25.med"
         f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
@@ -657,6 +687,7 @@ class MEDLoaderTest3(unittest.TestCase):
         #
         pass
     
+    @WriteInTmpDir
     def testMEDFileData1(self):
         fname="Pyfile29.med"
         d=MEDFileData.New()
@@ -714,6 +745,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual([(-1,-1,0.0)],d2.getFields()["f21"].getTimeSteps())
         pass
     
+    @WriteInTmpDir
     def testMEDField9(self):
         # first test field profile WR. Full type but with some type missing
         fname="Pyfile30.med"
@@ -753,6 +785,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(vals.isEqual(d,1e-14))
         pass
     
+    @WriteInTmpDir
     def testMEDField10(self):
         fname="Pyfile31.med"
         m1=MEDLoaderDataForTest.build2DMesh_1()
@@ -789,6 +822,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
     
     # idem testMEDField9 method except that here testing profile on nodes and not on cells.
+    @WriteInTmpDir
     def testMEDField11(self):
         fname="Pyfile32.med"
         m1=MEDLoaderDataForTest.build2DMesh_1()
@@ -815,6 +849,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(vals.isEqual(d,1e-14))
         pass
 
+    @WriteInTmpDir
     def testMEDField12(self):
         fname="Pyfile33.med"
         m1=MEDLoaderDataForTest.build2DMesh_1()
@@ -848,6 +883,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(vals.isEqual(d,1e-14))
         pass
 
+    @WriteInTmpDir
     def testMEDField13(self):
         fname="Pyfile34.med"
         m1=MEDLoaderDataForTest.build2DMesh_1()
@@ -875,6 +911,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(vals.isEqual(d,1e-14))
         pass
 
+    @WriteInTmpDir
     def testMEDField14(self):
         fname="Pyfile35.med"
         m1=MEDLoaderDataForTest.build2DMesh_1()
@@ -913,6 +950,7 @@ class MEDLoaderTest3(unittest.TestCase):
     # Tricky test of the case of in a MED file containing a Field on GAUSS_NE is lying on a profile that is reality represents all the geom entities of a level.
     # By default when using setFieldProfile method such profile is not created because it is not useful ! So here a trick is used to force MEDLoader to do that
     # for the necessity of the test ! The idea is too create artificially a mesh having one more fictitious cell per type and to roll back right after !
+    @WriteInTmpDir
     def testMEDField15(self):
         fname="Pyfile36.med"
         m0=MEDLoaderDataForTest.build2DMesh_1()
@@ -936,6 +974,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f1.getArray().isEqual(f2,1e-12))
         pass
     # Test for getFieldAtTopLevel method
+    @WriteInTmpDir
     def testMEDField16(self):
         fname="Pyfile37.med"
         f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
@@ -983,6 +1022,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # Non regression test to check that globals are correctly appended on MEDFileFields::setFieldAtPos
+    @WriteInTmpDir
     def testMEDField17(self):
         fname="Pyfile39.med"
         m1=MEDLoaderDataForTest.build2DMesh_1()
@@ -1011,6 +1051,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # Non regression test to check that globals are correctly appended on MEDFileFields::setFieldAtPos
+    @WriteInTmpDir
     def testMEDField18(self):
         fname="Pyfile40.med"
         m1=MEDLoaderDataForTest.build2DMesh_1()
@@ -1036,12 +1077,15 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f4.getArray().isEqual(f1.getArray(),1e-12))
         pass
 
+    @WriteInTmpDir
     def testMEDFieldBug1(self):
+        GeneratePyfile13(self)
         fname="Pyfile13.med"
         d=MEDFileData.New(fname)
         self.assertEqual(('Loc_MyFirstFieldOnGaussPoint_NORM_QUAD4_1','Loc_MyFirstFieldOnGaussPoint_NORM_TRI3_0','Loc_MyFirstFieldOnGaussPoint_NORM_TRI6_2'),d.getFields().getFieldAtPos(0).getLocs())
         pass
 
+    @WriteInTmpDir
     def testMEDMesh8(self):
         m=MEDLoaderDataForTest.build1DMesh_1()
         m.convertQuadraticCellsToLinear()
@@ -1085,6 +1129,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
     
     # bug detected by gauthier
+    @WriteInTmpDir
     def testMEDLoaderMEDLoaderNSReadFieldDoubleDataInMedFile(self):
         fname="Pyfile41.med"
         f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
@@ -1117,6 +1162,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f4.isEqual(f2,1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testMEDLoaderMultiLevelCellField1(self):
         fname="Pyfile42.med"
         m2,m1,m0,f2,f1,f0,p,n2,n1,n0,fns,fids,grpns,famIdsPerGrp=MEDLoaderDataForTest.buildMultiLevelMesh_1()
@@ -1187,6 +1233,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(ff2.getFieldSplitedByType(),[(0, [(0, (0, 4), '', '')]), (1, [(0, (4, 84), '', '')])])
         pass
 
+    @WriteInTmpDir
     def testFieldOnPflRetrieveOnMdimRelMax1(self):
         fname="Pyfile43.med"
         m2,m1,m0,f2,f1,f0,p,n2,n1,n0,fns,fids,grpns,famIdsPerGrp=MEDLoaderDataForTest.buildMultiLevelMesh_1()
@@ -1272,6 +1319,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def testBuildInnerBoundaryAlongM1Group1(self):
         fname="Pyfile44.med"
         m=MEDCouplingCMesh.New()
@@ -1322,6 +1370,7 @@ class MEDLoaderTest3(unittest.TestCase):
         mm.write(fname,2)
         pass
 
+    @WriteInTmpDir
     def testBuildInnerBoundaryAlongM1Group2(self):
         fname="Pyfile45.med"
         m=MEDCouplingCMesh.New()
@@ -1372,6 +1421,7 @@ class MEDLoaderTest3(unittest.TestCase):
         mm.write(fname,2)       
         pass
 
+    @WriteInTmpDir
     def testBuildInnerBoundaryAlongM1Group3(self):
         """ Test buildInnerBoundaryAlongM1Group() with *non-connex* cracks """
         fname = "Pyfile73.med"
@@ -1414,6 +1464,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(delta.getMaxValue()[0]<1e-12)
         mm.write(fname,2)   
 
+    @WriteInTmpDir
     def testBuildInnerBoundaryAlongM1Group4(self):
         """ Test case where cells touch the M1 group on some nodes only and not on full edges (triangle mesh for ex)
         """
@@ -1467,6 +1518,7 @@ class MEDLoaderTest3(unittest.TestCase):
         m_desc, _, _, _, _ = m_bis0.buildDescendingConnectivity()
         m_bis0.checkDeepEquivalOnSameNodesWith(mfu.getMeshAtLevel(-1), 2, 9.9999999)
 
+    @WriteInTmpDir
     def testBuildInnerBoundary5(self):
         """ Full 3D test with tetras only. In this case a tri from the group is not duplicated because it is made only
         of non duplicated nodes. The tri in question is hence not part of the final new "dup" group. """
@@ -1527,15 +1579,18 @@ class MEDLoaderTest3(unittest.TestCase):
         m_bis0.checkDeepEquivalOnSameNodesWith(mfu.getMeshAtLevel(-1), 2, 9.9999999)
         pass
 
+    @WriteInTmpDir
     def testBasicConstructors(self):
+        GeneratePyfile18(self)
         fname="Pyfile18.med"
+        TestWriteUMeshesRW1(self)
         m=MEDFileMesh.New(fname)
         m=MEDFileMesh.New(fname,"ExampleOfMultiDimW",-1,-1)
         m=MEDFileMesh.New(fname)
         m=MEDFileUMesh(fname,"ExampleOfMultiDimW",-1,-1)
         m=MEDFileUMesh(fname)
         m=MEDFileUMesh()
-        self.testMEDMesh6()
+        self.internalMEDMesh6()
         m=MEDFileCMesh("MEDFileMesh5.med")
         m=MEDFileCMesh("MEDFileMesh5.med","myFirstCartMesh",-1,-1)
         m=MEDFileCMesh()
@@ -1564,6 +1619,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # This is a non regression test. When a field lies partially on a mesh but fully on one of its geometric type.
+    @WriteInTmpDir
     def testBugSemiPartialField(self):
         fname="Pyfile46.med"
         m=MEDLoaderDataForTest.build2DMesh_3()
@@ -1593,6 +1649,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(fread2.isEqual(f1,1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testUnPolyze1(self):
         fname="Pyfile47.med"
         mm=MEDLoaderDataForTest.buildMLMeshUnPolyze(self)
@@ -1613,6 +1670,7 @@ class MEDLoaderTest3(unittest.TestCase):
         mm.setFamilyFieldArr(-1,None)
         pass
 
+    @WriteInTmpDir
     def testUnPolyze2(self):
         fname="Pyfile48.med"
         mfd=MEDFileData.New()
@@ -1678,6 +1736,7 @@ class MEDLoaderTest3(unittest.TestCase):
         mfd.write(fname,2)
         pass
 
+    @WriteInTmpDir
     def testGaussWriteOnPfl1(self):
         fname="Pyfile49.med"
         fname2="Pyfile50.med"
@@ -1834,6 +1893,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # Testing profile on nodes when the profile is identity but not on all nodes.
+    @WriteInTmpDir
     def testMEDFieldPflOnNode1(self):
         fname="Pyfile51.med"
         coo=DataArrayDouble([0.,0.,0.5,0.,1.,0.,0.,0.5,0.5,0.5,1.,0.5,0.,1.,0.5,1.,1.,1.],9,2)
@@ -1924,6 +1984,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
     
         # Testing profile on nodes when the profile is identity but not on all nodes.
+    @WriteInTmpDir
     def testMEDFieldPflOnCell1(self):
         fname="Pyfile52.med"
         coo=DataArrayDouble([0.,0.,0.5,0.,1.,0.,0.,0.5,0.5,0.5,1.,0.5,0.,1.,0.5,1.,1.,1.],9,2)
@@ -2013,6 +2074,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(pfl1_r.isEqual(pfl1))
         pass
 
+    @WriteInTmpDir
     def testMEDFileUMeshZipCoords1(self):
         m=MEDFileUMesh()
         coo=DataArrayDouble(30) ; coo.iota(1.) ; coo.rearrange(3) ; coo.setInfoOnComponents(["aaa [b]","cc [dd]", "e [fff]"])
@@ -2039,6 +2101,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(m.getMeshAtLevel(-2).getNodalConnectivityIndex().isEqual(DataArrayInt([0,2,4,6])))
         pass
 
+    @WriteInTmpDir
     def testMEDUMeshAddNodeGroup1(self):
         fname="Pyfile53.med"
         m=MEDFileUMesh()
@@ -2109,6 +2172,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.getGroupArr(-1,"grp0").isEqual(da))
         pass
 
+    @WriteInTmpDir
     def testMEDUMeshAddGroup1(self):
         fname="Pyfile54.med"
         m=MEDFileUMesh()
@@ -2180,6 +2244,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.getGroupArr(-1,"grp0").isEqual(da))
         pass
 
+    @WriteInTmpDir
     def testHeapMem1(self):
         a=DataArrayInt() ; aa=a.getHeapMemorySize()
         a.alloc(0,1)
@@ -2217,7 +2282,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertIn(fff[1, -1].getHeapMemorySize(), list(range(738 - 50, 838 + 30 + 4 * strMulFac)))
         pass
 
-    def testCurveLinearMesh1(self):
+    def internalCurveLinearMesh1(self):
         fname="Pyfile55.med"
         mesh=MEDCouplingCurveLinearMesh();
         mesh.setTime(2.3,4,5);
@@ -2256,8 +2321,16 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(len(m1.getUnivName())!=0)
         self.assertTrue(m1.getMesh().isEqual(mesh,1e-12))
         pass
+    
+    @WriteInTmpDir
+    def testCurveLinearMesh1(self):
+        self.internalCurveLinearMesh1()
 
+    @WriteInTmpDir
     def testParameters1(self):
+        self.internalParameters1()
+        
+    def internalParameters1(self):
         fname="Pyfile56.med"
         m=MEDCouplingCMesh() ; arr=DataArrayDouble([0.,1.2,3.5]) ; m.setCoords(arr,arr) ; m.setName("mesh")
         mm=MEDFileCMesh() ; mm.setMesh(m)
@@ -2311,6 +2384,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertAlmostEqual(data2.getParams()["B"][1,2].getValue(),567.89,13)
         pass
 
+    @WriteInTmpDir
     def testNamesOnCellAndNodesInMeshes1(self):
         fname="Pyfile58.med"
         fname2="Pyfile59.med"
@@ -2376,6 +2450,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(cc.isEqual(ccCpy,1e-12)[0])
         pass
 
+    @WriteInTmpDir
     def testToExportInExamples1(self):
         m=MEDCouplingCMesh()
         arr=DataArrayDouble([0.,1.,2.,3.,4.])
@@ -2415,6 +2490,7 @@ class MEDLoaderTest3(unittest.TestCase):
         splitOfM1[1].isEqual(DataArrayInt([4,5,7,9,14,15]))
         pass
 
+    @WriteInTmpDir
     def testBugCorrection1(self):
         fs=MEDFileFields()
         fs.resize(3)
@@ -2422,6 +2498,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(3,len(fs))
         pass
 
+    @WriteInTmpDir
     def testCompareMEDFilesContainingOnlyFieldsOnCell1(self):
         f1Name="Pyfile60.med"
         f2Name="Pyfile61.med"
@@ -2468,6 +2545,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def testNonRegBugNormalizeFamIdsMEDFile1(self):
         m=MEDCouplingCMesh()
         arr=DataArrayDouble([0.,1.,2.,3.,4.])
@@ -2580,6 +2658,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
     
+    @WriteInTmpDir
     def testNonRegressionMantis22212ChangeGrpName(self):
         fileName="Pyfile62.med"
         m2,m1,m0,f2,f1,f0,p,n2,n1,n0,fns,fids,grpns,famIdsPerGrp=MEDLoaderDataForTest.buildMultiLevelMesh_1()
@@ -2624,7 +2703,11 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def testInt32InMEDFileFieldStar1(self):
+        self.internalInt32InMEDFileFieldStar1()
+
+    def internalInt32InMEDFileFieldStar1(self):
         fname="Pyfile63.med"
         f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
         f1=f1.convertToIntField()
@@ -2738,6 +2821,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(not fs.changeMeshNames([('3DSurfMesh_1','3DSurfMesh')]))
         pass
 
+    @WriteInTmpDir
     def testMEDFileFields1(self):
         fname="Pyfile64.med"
         f1=MEDCouplingFieldDouble(ON_NODES)
@@ -2770,6 +2854,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # Multi time steps and multi fields management without Globals (profiles, locs) aspects
+    @WriteInTmpDir
     def testMEDFileFields2(self):
         fname="Pyfile65.med"
         # to check that all is initialize 
@@ -2851,6 +2936,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     # Multi time steps and multi fields management with Globals (profiles, locs) aspects
+    @WriteInTmpDir
     def testMEDFileFields3(self):
         fname="Pyfile66.med"
         # building a mesh containing 4 tri3 + 5 quad4
@@ -2916,6 +3002,7 @@ class MEDLoaderTest3(unittest.TestCase):
         fs0.write(fname,0)
         pass
     
+    @WriteInTmpDir
     def testSplitComponents1(self):
         fname="Pyfile67.med"
         # building a mesh containing 4 tri3 + 5 quad4
@@ -2985,6 +3072,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldConvertTo1(self):
         fname="Pyfile68.med"
         # building a mesh containing 4 tri3 + 5 quad4
@@ -3083,6 +3171,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(ff1.getPfls(),('pfl_NORM_QUAD4',))
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldPartialLoading(self):
         fname="Pyfile69.med"
         #
@@ -3194,6 +3283,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(ffs.getHeapMemorySize()-heap_memory_ref,20*70*8*2+70*8*2+50*8*2)
         pass
 
+    @WriteInTmpDir
     def testMEDFileMeshReadSelector1(self):
         mrs=MEDFileMeshReadSelector()
         self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading())
@@ -3355,6 +3445,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(mrs.getCode(),63)
         pass
     
+    @WriteInTmpDir
     def testPartialReadOfMeshes(self):
         fname="Pyfile70.med"
         # building a mesh containing 4 tri3 + 5 quad4
@@ -3471,6 +3562,7 @@ class MEDLoaderTest3(unittest.TestCase):
     # this test checks that setFieldProfile perform a check of the array length
     # compared to the profile length. This test also checks that mesh attribute of field
     # is not used by setFieldProfile (because across this test mesh is equal to None)
+    @WriteInTmpDir
     def testCheckCompatibilityPfl1(self):
         # building a mesh containing 4 tri3 + 5 quad4
         tri=MEDCouplingUMesh("tri",2)
@@ -3553,6 +3645,7 @@ class MEDLoaderTest3(unittest.TestCase):
         f1ts.setFieldProfile(f,mm,0,pfl)
         pass
     
+    @WriteInTmpDir
     def testWRMeshWithNoCells(self):
         fname="Pyfile71.med"
         a=DataArrayDouble(4) ; a.iota()
@@ -3572,6 +3665,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(m.getFamilyFieldAtLevel(1).isEqual(DataArrayInt([-1,-1,-1,-1,-1,-2,-2,-2,-2,-2,-2,0,-1,-3,-3,-3])))
         pass
 
+    @WriteInTmpDir
     def testWRQPolyg1(self):
         fname="Pyfile72.med"
         m=MEDCoupling1SGTUMesh("mesh",NORM_QUAD4) ; m.allocateCells()
@@ -3627,6 +3721,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f_read.isEqual(f,1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testLoadIfNecessaryOnFromScratchFields0(self):
         """
         This test checks that a call to loadArraysIfNecessary works (does nothing) on field data structure whatever its level 1TS, MTS, Fields.
@@ -3682,6 +3777,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
     
+    @WriteInTmpDir
     def testField1TSSetFieldNoProfileSBTPerGeoTypes(self):
         """ This test is very important, because the same mechanism is used by the MEDReader to generate a field on all the mesh without any processing and memory.
         """
@@ -3751,7 +3847,8 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(f1ts.getFieldSplitedByType(),[(0,[(0,(0,4),'','')]),(3,[(0,(4,6),'','')]),(4,[(0,(6,9),'','')]),(14,[(0,(9,15),'','')]),(15,[(0,(15,20),'','')]),(16,[(0,(20,24),'','')])])
         self.assertTrue(f1ts.getUndergroundDataArray().isEqual(DataArrayDouble([0,1,2,3,0,1,0,1,2,0,1,2,3,4,5,0,1,2,3,4,0,1,2,3]),1e-12))
         pass
-
+    
+    @WriteInTmpDir
     def testMEDFileUMeshSetName(self):
         """ This test is a small but important one for MEDReader in sauv mode. When .sauv file is loaded the conversion is performed in memory and a preparation is done then.
         This preparation makes access to internal MEDCouplingMesh pointers whose name must be updated.
@@ -3788,6 +3885,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(mm.getMeshAtLevel(0).getName(),"abc")
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldsUnloadArraysWithoutDataLoss1(self):
         fileName="Pyfile80.med"
         m=MEDCouplingCMesh() ; m.setName("cmesh")
@@ -3851,6 +3949,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f1ts.getUndergroundDataArray().isEqual(DataArrayDouble([0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11.,12.,13.,14.,15.,16.,17.,18.,19.,20.,21.,22.,23.,24.]),1e-12))
         pass
 
+    @WriteInTmpDir
     def testMEDFileUMeshLoadPart1(self):
         """ This method tests MEDFileUMesh.LoadPart that loads only a part of a specified mesh in a MED file. The part is specified using a slice of cell ids. Only nodes on which cells lies are loaded to reduce at most the amount of
         memory of the returned instance.
@@ -3934,6 +4033,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm2.getNameFieldAtLevel(1).isEqual(namesNodes[:18]))
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldsLoadPart1(self):
         """This method tests partial loading on fields on CELL. It is the same principle than those in testMEDFileUMeshLoadPart1.
         """
@@ -3985,6 +4085,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(fs[1][0].getUndergroundDataArray().isEqual(arr,1e-12))
         pass
 
+    @WriteInTmpDir
     def testMEDFileWithoutCells1(self):
         fileName="Pyfile83.med"
         coo=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0)])
@@ -3999,6 +4100,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.getCoords().isEqual(coo,1e-12))
         pass
 
+    @WriteInTmpDir
     def testZipCoordsWithLoadPart1(self):
         """ Test close to Pyfile82.med except that here zipCoords on MEDFileUMesh is invoked here to see if the PartDef is correctly updated.
         """
@@ -4054,6 +4156,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(fs[1][0].getUndergroundDataArray().isEqual(arr,1e-12))
         pass
 
+    @WriteInTmpDir
     def testMEDFileCMeshSetGroupsAtLevel(self):
         """ Non regression test to check that setGroupsAtLevel is available with MEDFileCMesh.
         """
@@ -4065,6 +4168,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.getFamilyFieldAtLevel(0).isEqual(DataArrayInt([-1,-2,-1,-2,-2,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1])))
         pass
 
+    @WriteInTmpDir
     def testMEDFileUMeshBuildExtrudedMesh1(self):
         """ New functionality of MEDFileUMesh.buildExtrudedMesh."""
         fileName="Pyfile85.med"
@@ -4147,6 +4251,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     @unittest.skipUnless(MEDCouplingHasNumPyBindings(),"requires numpy")
+    @WriteInTmpDir
     def testMEDFileUMeshPickeling1(self):
         outFileName="Pyfile86.med"
         c=DataArrayDouble([-0.3,-0.3, 0.2,-0.3, 0.7,-0.3, -0.3,0.2, 0.2,0.2, 0.7,0.2, -0.3,0.7, 0.2,0.7, 0.7,0.7 ],9,2)
@@ -4244,6 +4349,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(mm2.getAxisType(),AX_CYL)
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldsLoadSpecificEntities1(self):
         nbNodes=11
         fieldName="myField"
@@ -4313,6 +4419,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def testMEDFileLotsOfTSRW1(self):
         nbNodes=11
         fieldName="myField"
@@ -4389,6 +4496,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(fs2[0].getTimeSteps(), [(i, 0, float(i)) for i in range(nbPdt)])
         pass
     
+    @WriteInTmpDir
     def testMEDFileMeshRearrangeFamIds1(self):
         """ Test for bug EDF10720. The aim of this test is the call of MEDFileMesh.rearrangeFamilies."""
         fileName="Pyfile89.med"
@@ -4448,6 +4556,7 @@ class MEDLoaderTest3(unittest.TestCase):
             self.assertEqual(mm.getFamilyId(elt),eltId)
         pass
 
+    @WriteInTmpDir
     def testNonRegrCMeshSetFieldPfl1(self):
         """ Non regression test. For structured mesh, push a false partial field in MEDFileField1TS using setFieldProfile."""
         ff=MEDFileField1TS()
@@ -4489,6 +4598,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(field.isEqual(field2,1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testMEDFileUMeshLinearToQuadraticAndRev1(self):
         meshName="mesh"
         fileName="Pyfile90.med"
@@ -4532,6 +4642,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.isEqual(mmOut2,1e-12)[0])
         pass
 
+    @WriteInTmpDir
     def testMEDFileMeshAddGroup1(self):
         m=MEDCouplingCMesh()
         arrX=DataArrayDouble(9) ; arrX.iota()
@@ -4569,6 +4680,7 @@ class MEDLoaderTest3(unittest.TestCase):
             self.assertTrue(mm.getGroupArr(1,"%s_node"%grp.getName()).isEqual(grpExp))
         pass
     
+    @WriteInTmpDir
     def testMEDFileJoint1(self):
         fileName="Pyfile92.med"
         coo=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0)])
@@ -4608,6 +4720,7 @@ class MEDLoaderTest3(unittest.TestCase):
         jointsR.destroyJointAtPos(0)
         pass
     
+    @WriteInTmpDir
     def testMEDFileJoint2(self):
         fileNameWr="Pyfile93.med"
         coo=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0)])
@@ -4656,6 +4769,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue( jointR2.isEqual( two_joint ))
         pass
 
+    @WriteInTmpDir
     def testMEDFileJoint1(self):
         node_correspond=MEDFileJointCorrespondence(DataArrayInt([1,2,3,4,5,6,7,8]))
         cell_correspond=MEDFileJointCorrespondence(DataArrayInt([9,10,11,12]),NORM_TRI3,NORM_TRI3)
@@ -4696,6 +4810,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     @unittest.skipUnless('linux'==platform.system().lower(),"stderr redirection not ported on Windows ?")
+    @WriteInTmpDir
     def testMEDFileSafeCall0(self):
         """ EDF11242 : check status of MED file calls to detect problems immediately. Sorry this test generates awful messages !"""
         fname="Pyfile94.med"
@@ -4735,6 +4850,7 @@ class MEDLoaderTest3(unittest.TestCase):
         #
         pass
 
+    @WriteInTmpDir
     def testUnivStatus1(self):
         """ Non regression test to check the effectiveness of univ write status."""
         fname="Pyfile95.med"
@@ -4751,6 +4867,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.getUnivName()!="")
         pass
     
+    @WriteInTmpDir
     def testEmptyMesh(self):
       """ MEDLoader should be able to consistently write and read an empty mesh (coords array
       with 0 tuples """
@@ -4791,6 +4908,7 @@ class MEDLoaderTest3(unittest.TestCase):
       self.assertTrue(mesh.isEqual(mm2,1e-12)[0])
       pass
 
+    @WriteInTmpDir
     def testMEDFileEquivalence1(self):
       """ First check of equivalence implementation in MEDFileMesh"""
       fileName="Pyfile97.med"
@@ -4847,6 +4965,7 @@ class MEDLoaderTest3(unittest.TestCase):
       self.assertTrue(mm.isEqual(mm3,1e-12)[0])
       pass
 
+    @WriteInTmpDir
     def testMEDFileForFamiliesPlayer1(self):
       """Non regression bug EDF11911. For serial killers using same family name to store both cells and nodes ! Only sky is the limit."""
       fileName="Pyfile98.med"
@@ -4878,6 +4997,7 @@ class MEDLoaderTest3(unittest.TestCase):
       self.assertEqual(mm2.getFamiliesIdsOnGroup("RID"),(-4,3))# <- very important too !
       pass
 
+    @WriteInTmpDir
     def testCartesianizer1(self):
       """ This test is advanced to be sure that no unnecessary copies had been made during cartesianization process. """
       # UMesh non cart
@@ -4984,6 +5104,7 @@ class MEDLoaderTest3(unittest.TestCase):
       self.assertTrue(mm.getHiddenCppPointer()==mm2.getHiddenCppPointer()) # optimization
       pass
 
+    @WriteInTmpDir
     def testCheckCoherency(self):
       m2 = MEDCouplingUMesh("2d", 2)
       m2.setCoords(DataArrayDouble([(0.0, 1.0)] * 4, 4,2))  # whatever
@@ -5045,6 +5166,7 @@ class MEDLoaderTest3(unittest.TestCase):
       mum.setNameFieldAtLevel(-1, arr); arr.reAlloc(35);
       self.assertRaises(InterpKernelException, mum.checkConsistency)
 
+    @WriteInTmpDir
     def testCheckSMESHConsistency(self):
       m2 = MEDCouplingUMesh("2d", 2)
       m2.setCoords(DataArrayDouble([(0.0, 1.0)] * 4, 4,2))  # whatever
@@ -5064,6 +5186,7 @@ class MEDLoaderTest3(unittest.TestCase):
       mum.checkSMESHConsistency()
       pass
 
+    @WriteInTmpDir
     def testClearNodeAndCellNumbers(self):
       m2 = MEDCouplingUMesh("2d", 2)
       m2.setCoords(DataArrayDouble([(0.0, 1.0)] * 4, 4,2))  # whatever
@@ -5081,6 +5204,7 @@ class MEDLoaderTest3(unittest.TestCase):
       mum.checkSMESHConsistency()
       pass
 
+    @WriteInTmpDir
     def testCMeshSetFamilyFieldArrNull(self):
       meshName="mesh"
       fname="Pyfile99.med"
@@ -5108,7 +5232,8 @@ class MEDLoaderTest3(unittest.TestCase):
       self.assertTrue(mm2.getFamilyFieldAtLevel(0) is None)
       self.assertTrue(mm2.getFamilyFieldAtLevel(1) is None)
       pass
-
+  
+    @WriteInTmpDir
     def testAppendFieldProfileOnIntField(self):
       fname="Pyfile100.med"
       arrX=DataArrayDouble([0,1,2,3])
@@ -5145,6 +5270,7 @@ class MEDLoaderTest3(unittest.TestCase):
       self.assertEqual(ftest2.getMesh().getNumberOfCells(),len(arr))
       pass
 
+    @WriteInTmpDir
     def testMEDFileFieldEasyField1(self):
       """Check for all spatial discretization of field (cells,nodes,elno,gauss) for double field that all is OK. Here no profile and only top level is considered."""
       ## Basic test on cells on top level
@@ -5214,6 +5340,7 @@ class MEDLoaderTest3(unittest.TestCase):
       self.assertTrue(f4.isEqual(f1ts.field(mm),1e-12,1e-12))
       pass
   
+    @WriteInTmpDir
     def testMEDFileFieldEasyField2(self):
         """Same thantestMEDFileFieldEasyField1 except that here intfields are considered.
         Check for all spatial discretization of field (cells,nodes,elno,gauss) for int field that all is OK. Here no profile and only top level is considered."""
@@ -5284,6 +5411,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f4.isEqual(f1ts.field(mm),1e-12,0))
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldEasyField3(self):
         """Here a multi level mesh. And field on cells lying on different level of this mesh. Show how "field" method deal with that. Here on field double are considered."""
         fname="Pyfile103.med"
@@ -5343,6 +5471,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f4.isEqual(f1ts.field(mm),1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldEasyField4(self):
         """ Same than testMEDFileFieldEasyField3 but with integers"""
         fname="Pyfile104.med"
@@ -5402,6 +5531,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f4.isEqual(f1ts.field(mm),1e-12,0))
         pass
 
+    @WriteInTmpDir
     def testMEDFileFieldEasyField5(self):
         """More and more difficult now look at how profiles are managed by "field" method."""
         fname="Pyfile105.med"
@@ -5443,6 +5573,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f.isEqual(f1ts.field(mm),1e-12,1e-12))
         pass
 
+    @WriteInTmpDir
     def testExtractPart1(self):
         coo=DataArrayDouble([(0,0),(1,0),(2,0),(3,0),(4,0),(0,1),(1,1),(2,1),(3,1),(4,1),(0,2),(1,2),(2,2),(3,2),(4,2)])
         meshName="mesh"
@@ -5552,6 +5683,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def testSymmetryPlusAggregationMFD1(self):
         """ Testing of MEDFileData::Aggregate and MEDFileUMesh::Aggregate and MEDFileUMesh::getAllDistributionOfType """
         fname1="Pyfile106_1.med"
@@ -5768,6 +5900,7 @@ class MEDLoaderTest3(unittest.TestCase):
         CheckMFD(self,mfd)
         pass
 
+    @WriteInTmpDir
     def testExtrudedMesh1(self):
         fname="Pyfile107.med"
         arrX=DataArrayDouble([0,1,2,3]) ; arrY=DataArrayDouble([0,1,2,3,4]) ; arrZ=DataArrayDouble([0,1,2,3,4,5])
@@ -5783,6 +5916,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
     
     @unittest.skipUnless(LooseVersion(MEDFileVersionStr())>=LooseVersion('3.2.1'),"This test requires at least MEDFile version 3.2.1")
+    @WriteInTmpDir
     def testWriteInto30(self):
         fname="Pyfile108.med"
         fname2="Pyfile109.med"
@@ -5800,6 +5934,7 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     @unittest.skipUnless(MEDCouplingHasNumPyBindings(),"requires numpy")
+    @WriteInTmpDir
     def testPickelizationOfMEDFileObjects1(self):
         fname="Pyfile110.med"
         coo=DataArrayDouble([0.,0.,0.5,0.,1.,0.,0.,0.5,0.5,0.5,1.,0.5,0.,1.,0.5,1.,1.,1.],9,2)
@@ -5890,9 +6025,10 @@ class MEDLoaderTest3(unittest.TestCase):
         pass
 
     @unittest.skipUnless(MEDCouplingHasNumPyBindings(),"requires numpy")
+    @WriteInTmpDir
     def testPickelizationOfMEDFileObjects2(self):
         # CMesh
-        self.testMEDMesh6() # generates MEDFileMesh5.med file
+        self.internalMEDMesh6() # generates MEDFileMesh5.med file
         mm=MEDFileMesh.New("MEDFileMesh5.med")
         self.assertTrue(isinstance(mm,MEDFileCMesh))
         st=pickle.dumps(mm,pickle.HIGHEST_PROTOCOL)
@@ -5900,14 +6036,14 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(isinstance(mm2,MEDFileCMesh))
         self.assertTrue(mm.getMesh().isEqual(mm2.getMesh(),1e-12))
         # CurveLinear
-        self.testCurveLinearMesh1() # generates Pyfile55.med
+        self.internalCurveLinearMesh1() # generates Pyfile55.med
         mm=MEDFileMesh.New("Pyfile55.med")
         self.assertTrue(isinstance(mm,MEDFileCurveLinearMesh))
         st=pickle.dumps(mm,pickle.HIGHEST_PROTOCOL)
         mm3=pickle.loads(st)
         self.assertTrue(isinstance(mm3,MEDFileCurveLinearMesh))
         self.assertTrue(mm.getMesh().isEqual(mm3.getMesh(),1e-12))
-        self.testInt32InMEDFileFieldStar1()# generates Pyfile63.med
+        self.internalInt32InMEDFileFieldStar1()# generates Pyfile63.med
         # MEDFileIntFieldMultiTS
         fs4=MEDFileFields("Pyfile63.med")
         ms4=MEDFileMeshes("Pyfile63.med")
@@ -5923,7 +6059,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(isinstance(f1ts6,MEDFileIntField1TS))
         self.assertTrue(f1ts6.field(ms4[0]).isEqual((fs4[0][0]).field(ms4[0]),1e-12,0))
         # MEDFileParameters
-        self.testParameters1()# generates Pyfile56.med
+        self.internalParameters1()# generates Pyfile56.med
         params=MEDFileParameters("Pyfile56.med")
         st=pickle.dumps(params,pickle.HIGHEST_PROTOCOL)
         params7=pickle.loads(st)
@@ -5933,6 +6069,7 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def testGlobalNumOnNodes1(self):
         """Test global number on nodes here. Used by partitionners."""
         fname="Pyfile112.med"
@@ -5960,6 +6097,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.isEqual(mm2,1e-12)[0])
         pass
 
+    @WriteInTmpDir
     def testPartialReadOfEntities1(self):
         """Test for advanced API on read to speed up read phase for users with "huge" number of time steps (more than 10 000)."""
         fname="Pyfile113.med"
@@ -6005,6 +6143,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(ff1.field(mm).isEqual(f3,1e-12,1e-12))
         pass
     
+    @WriteInTmpDir
     def testFloat32InMEDFileFieldStar1(self):
         """Like testInt32InMEDFileFieldStar1 but with float32 :)"""
         fname="Pyfile114.med"
@@ -6120,6 +6259,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(not fs.changeMeshNames([('3DSurfMesh_1','3DSurfMesh')]))
         pass
 
+    @WriteInTmpDir
     def testPenta18_1(self):
         """EDF8478 : Test of read/write of penta18"""
         fname="Pyfile115.med"
@@ -6156,6 +6296,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertEqual(f3.getMesh().getTypeOfCell(0),NORM_PENTA18)
         pass
 
+    @WriteInTmpDir
     def testFieldsLinearToQuadratic(self):
         fname="Pyfile117.med"
         arr=DataArrayDouble([0,1])
@@ -6218,8 +6359,10 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(fToTest.getArray().isEqual(2*dataExp2,1e-12))
         pass
 
+    @WriteInTmpDir
     def testFieldsLinearToQuadratic2(self):
         """Same than testFieldsLinearToQuadratic but with profile on NODES"""
+        GeneratePyfile18(self)
         fname="Pyfile118.med"
         arr=DataArrayDouble([0,1])
         m=MEDCouplingCMesh();
@@ -6323,6 +6466,7 @@ class MEDLoaderTest3(unittest.TestCase):
         
         pass
 
+    @WriteInTmpDir
     def testSetFieldProfileFlatly1(self):
         """ Sometimes for downstream code fan of profiles, profile are requested unconditionally. setFieldProfile try to reduce at most profile usage. So setFieldProfileFlatly has been added to always create
         a profile."""
@@ -6361,6 +6505,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(f1ts.getProfile("pfl_NORM_QUAD4").isIota(81))
         pass
 
+    @WriteInTmpDir
     def testRmGroupAtSpeLevelAndMultiLevGrpCreation(self):
         """ Here multi level groups are created"""
         arr=DataArrayDouble(11) ; arr.iota()
@@ -6408,6 +6553,7 @@ class MEDLoaderTest3(unittest.TestCase):
         self.assertTrue(mm.getGroupArr(-1,"grp2").isEqual(grp2))
         pass
 
+    @WriteInTmpDir
     def testYutaka(self):
         """ Thank you to Yutaka Nishizawa for having report this bug. At level -1, adding a first group on all entities leads to a group lying on family 0...
         Then rearrange method removes unused entites by putting 0 on them -> Previously group has been modified by rearrange. Should not !"""
@@ -6448,7 +6594,8 @@ class MEDLoaderTest3(unittest.TestCase):
             pass
         pass
 
-    def tessContxtMger1TS(self):
+    @WriteInTmpDir
+    def testContxtMger1TS(self):
         fname="Pyfile119.med"
         coo=DataArrayDouble(1000) ; coo.iota()
         m=MEDCouplingUMesh.Build0DMeshFromCoords(coo)
index 513e3384cfbfad81dd99949fe3d5d10a5fb9f3f7..2086d759003aa8f0381586361c919aa3767fa4e6 100644 (file)
 from MEDLoader import *
 import unittest
 from math import pi,e,sqrt
+from MEDLoaderDataForTest import WriteInTmpDir
 
 class MEDLoaderTest4(unittest.TestCase):
     """
     Test series to emulate the future MEDReader plugin for PARAVIS.
     """
+    @WriteInTmpDir
     def test1(self):
         """
         This test is the most simple one. One time serie of one field with only cell fields with no profiles.
@@ -212,6 +214,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test2(self):
         """
         One time serie of one field with cell and node discretization in the same field with no profiles.
@@ -432,6 +435,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test3(self):
         """ This test is more advanced a same field is defined on CELLS for time steps 0, 2 and 4, and on NODES for time steps 1 and 3.
         So two time step series on the same field. No profile here neither on cells nor on nodes.
@@ -619,6 +623,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test4(self):
         """ This test defines 3 fields on nodes on the same mesh. All of these fields have no profile.
         """
@@ -870,6 +875,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test5(self):
         """ This test plays with profiles both cell profiles and node profiles. Two first fields (resp on cells and on nodes) lie on the same mesh support whereas the third
         mesh lies on a different mesh.
@@ -1023,6 +1029,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test6(self):
         """ This test plays with cartesian mesh and profiles. When a sub cartesian mesh can also be considered as a cartesian mesh it is done.
         """
@@ -1235,6 +1242,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test7(self):
         """ This test plays with curvilinear mesh and profiles. When a sub curvilinear mesh can also be considered as a cartesian mesh it is done.
         This test is very similar to the test6.
@@ -1441,6 +1449,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test8(self):
         """ This test plays with with gauss fields with no profiles.
         """
@@ -1588,6 +1597,7 @@ class MEDLoaderTest4(unittest.TestCase):
         #
         pass
 
+    @WriteInTmpDir
     def test9(self):
         """ This test plays with with gauss fields with profiles.
         """
@@ -1736,6 +1746,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test10(self):
         """ This test plays with fields only on nodes containing profiles.
         """
@@ -1861,6 +1872,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test11(self):
         """ This test is the ultimate test for the profiles with gauss points. It tests that even if there is non contiguous parts in definition of gauss points, it works !
         WARNING here, as no other discretizations exists, the priority is given to the field -> the mesh is renumbered to accelerate the build of array of field.
@@ -1948,6 +1960,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test12(self):
         """ This test is the second ultimate test for the profiles with gauss points.
         This test is close to test11 but here a 2nd field on cells without profile. So here the mesh is expected to be the same than m.
@@ -2051,6 +2064,7 @@ class MEDLoaderTest4(unittest.TestCase):
             self.assertTrue(v.isEqual(vExp,1e-12))
             pass
 
+    @WriteInTmpDir
     def test13(self):
             """ Testing polyhedrons mixed with hexa8"""
             fname="ForMEDReader13.med"
@@ -2228,6 +2242,7 @@ class MEDLoaderTest4(unittest.TestCase):
                 pass
             pass
 
+    @WriteInTmpDir
     def test14(self):
             """ Testing only polyhedrons"""
             fname="ForMEDReader14.med"
@@ -2334,6 +2349,7 @@ class MEDLoaderTest4(unittest.TestCase):
                 pass
             pass
 
+    @WriteInTmpDir
     def test15(self):
         """
         "ForMEDReader15.med" file has a spaceDim 3 mesh "mesh" (it is important !)
@@ -2475,6 +2491,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertTrue(mml2.retrieveGlobalNodeIdsIfAny() is None)
         pass
 
+    @WriteInTmpDir
     def test16(self):
         """ Here 2 meshes "mesh1" and "mesh2" and 4 fields (no profiles here) :
         - "zeField1_0" (CELLS) and "zeField2_0" (NODES) on "mesh1"
@@ -2650,6 +2667,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertEqual(len(allFMTSLeavesPerCommonSupport2[0][0]),2)
         pass
 
+    @WriteInTmpDir
     def test17(self):
         """ First test on GAUSS_NE (Elno). Here no Profiles.
         2 times steps.
@@ -2766,6 +2784,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test18(self):
         """ First test on GAUSS_PT. Here no Profiles. 2 times steps.
         """
@@ -2952,6 +2971,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test19(self):
         """
         This test is a simple non profile CELL field but lying on cells of dimension -1 (not 0 as "usual").
@@ -3058,6 +3078,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test20(self):
         """ This test works with groups/families on cells AND on nodes. Here 4 fields each on same time steps (2).
         1 field on CELLS without profile, 1 field on CELLS with profile, 1 field on NODES without profile, 1 field on NODES with profile.
@@ -3305,6 +3326,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test21(self):
         """ Here the created MED file contains only a mesh. The aim here is to test capability of MEDReader to support no fields.
         This test checks nothing but write a MED file to be used by MEDReader tests.
@@ -3337,6 +3359,7 @@ class MEDLoaderTest4(unittest.TestCase):
         mm.write(fname,2)
         pass
 
+    @WriteInTmpDir
     def test22(self):
         """ Use case where a field on nodes (ANodeField) on a mesh defined both in meshdim 2 and meshdim 1.
         The only possible geometrical support that suits the field is those with meshdim equal to 1 (-1 in relative).
@@ -3450,6 +3473,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertTrue(v.isEqual(vExp,1e-12))
         pass
 
+    @WriteInTmpDir
     def test23(self):
         """ Non regression test 2219 of modes. Idem than test22 except that here the node field is on profile.
         """
@@ -3560,6 +3584,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertTrue(v.isEqual(vExp,1e-12))
         pass
 
+    @WriteInTmpDir
     def test24(self):
         """ Non regression test for cartesian mesh whose the 3rd direction has only one node. It a false 3D mesh.
         """
@@ -3648,6 +3673,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test25(self):
         """ A tricky test that reproduces an invalid behaviour
         Here a same field is defined both on CELLS and GAUSS_PT, with a profile for each.
@@ -3852,6 +3878,7 @@ class MEDLoaderTest4(unittest.TestCase):
         del fff0
         pass
 
+    @WriteInTmpDir
     def test26(self):
         """ Test focused on field on nodes (here f0Node and f1Node) lying on a profile of nodes that do not match perfectly a sub set of cells of its underlying mesh. See bug EDF 2405 and 2177.
         For this type of fields the support will contain only vertices.
@@ -3999,6 +4026,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertTrue(v.isEqual(vExp,1e-12)) # <- THE test is here !!!
         pass
 
+    @WriteInTmpDir
     def test27(self):
         """ This test defines 2 fields f0 and f1 on nodes lying on an unstructured mesh with no cells.
         f0 is a field on all nodes. f1 is a partial field on nodes.
@@ -4118,6 +4146,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertTrue(v.isEqual(vExp,1e-12))
         pass
 
+    @WriteInTmpDir
     def test28(self):
         """ This test defines 2 fields f0,f1,f2,f3 lying on an unstructured mesh with cells including NORM_POINT1.
         Both f0 and f1 are on NODES and f2 and f3 are on cells. f1 and f2 share the same support.
@@ -4307,6 +4336,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertTrue(v.isEqual(vExp,1e-12))
         pass
 
+    @WriteInTmpDir
     def test29(self):
         """ This test focused on HEXA27 cell for which the MED numbering is not equal to the VTK numbering. So here the HEXA27 cell is those in MED file documentation (reference element).
         """
@@ -4392,6 +4422,7 @@ class MEDLoaderTest4(unittest.TestCase):
         ffGauss=allFMTSLeavesPerCommonSupport1[0][0][1][0]
         pass
 
+    @WriteInTmpDir
     def test30(self):
         """ This test is focused on cartesian meshes. Here the cartesian mesh "CartMesh" has a field on HEXA8 (FieldOnCells) and a field on QUAD4 (FieldOnFaces).
         So the first one (FieldOnCells) lies on a cartesian mesh whereas the second one lies on unstructured one.
@@ -4516,6 +4547,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test31(self):
         """non regression test of EDF 7972"""
         fname="ForMEDReader31.med"
@@ -4605,6 +4637,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test32(self):
         """ This test is close to test30 except that here the profiles on dim-1 of structured mesh is considered here."""
         fname="ForMEDReader32.med"
@@ -4731,6 +4764,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test33(self):
         """Non regression test concerning polygons. Thanks Adrien. This bug can't be shown by simply reading an displaying a MED file containing only polygons. A filter must be applied on it to show it. The a2 array was responsible of that bug."""
         fname="ForMEDReader33.med"
@@ -4812,6 +4846,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test34(self):
         """ This test is the thirs ultimate test (base on test12) for the profiles with gauss points.
         This test highlight the hidden imp linked to bug #8655.
@@ -4958,6 +4993,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test35(self):
         """ Emulate MEDReader in // mode context. Here a Simple mesh having more nodes than really needed. This test focuses on that point particularly."""
         fname="ForMEDReader35.med"
@@ -5031,6 +5067,7 @@ class MEDLoaderTest4(unittest.TestCase):
         self.assertTrue(v.isEqual(vExp,1e-12))
         pass
 
+    @WriteInTmpDir
     def test36(self):
         """Bug EDF11027. Here mesh at level 0 (TRI3) does not fetch all the nodes. Level -1 (SEG2) does not fetch all the nodes neither. But all TRI3 + all SEG2 fetch all nodes.
         aaa field on GAUSSPoints lying only on TRI3 share the same support than profile node field ccc.
@@ -5171,6 +5208,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test37(self):
         """ Introduction of non cartesian meshes management. Here cylindrical."""
         fname="ForMEDReader37.med"
@@ -5241,6 +5279,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test38(self):
         """ Introduction of non cartesian meshes management. Here spherical."""
         fname="ForMEDReader38.med"
@@ -5311,6 +5350,7 @@ class MEDLoaderTest4(unittest.TestCase):
             pass
         pass
 
+    @WriteInTmpDir
     def test39(self):
         """Idem test37, test38, test39, test40 except that here it is an unstructured mesh."""
         fname="ForMEDReader39.med"
@@ -5380,6 +5420,7 @@ class MEDLoaderTest4(unittest.TestCase):
             self.assertTrue(v.isEqual(DataArrayDouble([0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3]),1e-14))
         pass
 
+    @WriteInTmpDir
     def test40(self):
         """Idem test37, test38, test39, test40 except that here it is a CL mesh."""
         fname="ForMEDReader40.med"
@@ -5446,6 +5487,7 @@ class MEDLoaderTest4(unittest.TestCase):
             self.assertTrue(v.isEqual(DataArrayDouble([0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3]),1e-14))
         pass
 
+    @WriteInTmpDir
     def test41(self):
         """This test focused on bug revealed with // load of multi nodes field with no profile. The error was the first node field (dataarray partdef) change the partdef for the others ! """
         fname="ForMEDReader41.med"
@@ -5515,6 +5557,7 @@ class MEDLoaderTest4(unittest.TestCase):
         assert(v1.isEqual(DataArrayDouble([101,102,103,104,106,107,108,109,111,112,113,114,116,117,118,119,121,122,123,124]),1e-12))
         pass
 
+    @WriteInTmpDir
     def test42(self):
         """ EDF14869 - SEG4 """
         fname="ForMEDReader42.med"
index 7f4dfd6af3afb12a1c1da808b8ce8c186a1d5781..59b37915422616041025d19ee73bbbdc8651a503 100644 (file)
@@ -21,7 +21,7 @@
 
 from MEDLoader import *
 import unittest, os
-from MEDLoaderDataForTest import MEDLoaderDataForTest
+from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
 
 class SauvLoaderTest(unittest.TestCase):
 
@@ -37,7 +37,8 @@ class SauvLoaderTest(unittest.TestCase):
           raise Exception("SauvLoaderTest: Unable to get resource directory")
         return pth
         pass
-
+    
+    @WriteInTmpDir
     def testSauv2Med(self):
         # get a file containing all types of readable piles
         sauvFile = os.path.join( self.__getResourcesDirectory(),"allPillesTest.sauv")
@@ -59,6 +60,7 @@ class SauvLoaderTest(unittest.TestCase):
         os.remove( medFile )
         pass
 
+    @WriteInTmpDir
     def testMed2Sauv(self):
         # read pointe.med
         medFile = os.path.join(self.__getResourcesDirectory(),"pointe.med")
@@ -171,6 +173,7 @@ class SauvLoaderTest(unittest.TestCase):
         os.remove( sauvFile )
         pass
 
+    @WriteInTmpDir
     def testSauv2MedWONodeFamilyNum(self):
         """test for issue 0021673: [CEA 566] Bug in SauvWriter when writing meshes
         having no family ids on nodes."""
@@ -208,6 +211,7 @@ class SauvLoaderTest(unittest.TestCase):
         os.remove( medFile )
         pass
 
+    @WriteInTmpDir
     def testSauv2MedOnPipe1D(self):
         """test for issue 0021745: [CEA 600] Some missing groups in mesh after reading a SAUV file with SauvReader."""
         sauvFile="Test_sauve_1D.sauv"
@@ -248,6 +252,7 @@ class SauvLoaderTest(unittest.TestCase):
         os.remove(sauvFile)
         pass
 
+    @WriteInTmpDir
     def testSauvReaderOnBigMesh(self):
         # create a box with 1 million cells
         mesh_dim = 3
@@ -301,6 +306,7 @@ class SauvLoaderTest(unittest.TestCase):
         pass
 
     @unittest.skipUnless(HasXDR(),"requires XDR")
+    @WriteInTmpDir
     def testMissingGroups(self):
         """test for issue 0021749: [CEA 601] Some missing groups in mesh after reading a SAUV file with SauvReader."""
         sauvFile = os.path.join(self.__getResourcesDirectory(),"BDC-714.sauv")
@@ -323,6 +329,7 @@ class SauvLoaderTest(unittest.TestCase):
         pass
 
     @unittest.skipUnless(HasXDR(),"requires XDR")
+    @WriteInTmpDir
     def testReadSauvXDRCastem17(self):
         """test reading Castem17 XDR sauv with 'ENREGISTREMENT DE TYPE 8'"""
         sauvFile = os.path.join(self.__getResourcesDirectory(),"castem17_result_xdr.sauv")
@@ -344,6 +351,7 @@ class SauvLoaderTest(unittest.TestCase):
         self.assertTrue( fieldArray.isEqualWithoutConsideringStr( expectedArray, 1e-12 ))
         pass
 
+    @WriteInTmpDir
     def testReadSauvAsciiCastem17(self):
         """test reading Castem17 ascii sauv with 'ENREGISTREMENT DE TYPE 8'"""
         sauvFile = os.path.join(self.__getResourcesDirectory(),"castem17_result_ascii.sauv")
@@ -365,6 +373,7 @@ class SauvLoaderTest(unittest.TestCase):
         self.assertTrue( fieldArray.isEqualWithoutConsideringStr( expectedArray, 1e-12 ))
         pass
 
+    @WriteInTmpDir
     def testGaussPt(self):
         """issue 22321: [CEA 933] Bug when reading a sauve file containing field on Gauss Pt.
         The problem was that a field ON_GAUSS_PT was created but no Gauss Localization
@@ -426,6 +435,7 @@ class SauvLoaderTest(unittest.TestCase):
         os.remove( sauvFile )
         pass
 
+    @WriteInTmpDir
     def testSauvWriterGroupWithOneFamily(self):
         """
         This test checks an option for sauv writing. It is requested here to copy a group from a family if a group is lying on a single family.
index 5188e58d97ed6aaefb28fae573524060ea70ff0a..447a89a30e23361e039d1ad4e956cdbd66c69af6 100644 (file)
 
 from MEDLoader import *
 import os
+import tempfile,os,shutil
+
+zeDir = tempfile.mkdtemp()
+os.chdir(zeDir)
 
 from MEDLoaderDataForTest import MEDLoaderDataForTest
 m = MEDLoaderDataForTest.build1DMesh_1()
@@ -184,3 +188,4 @@ for ff1TS in ff:
     field=ff1TS.getFieldAtLevel(ON_CELLS,level)
     field=ff1TS.getFieldOnMeshAtLevel(ON_CELLS,level,mm)
 #! [UG_RWFieldAdv_5]
+shutil.rmtree(zeDir)
index e65de25a4462dca74b454d78c66b6eabbfc3069c..b86cba0eed5aa7c3cc3b4f78ff7ec6c425f5a5bf 100644 (file)
@@ -43,21 +43,26 @@ SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
 
 ADD_EXECUTABLE(TestMEDLoader ${TestMEDLoader_SOURCES})
 TARGET_LINK_LIBRARIES(TestMEDLoader medloader InterpKernelTestUtils ${CPPUNIT_LIBRARIES} ${PLATFORM_LIBS})
-ADD_TEST(TestMEDLoader TestMEDLoader)
-SET_TESTS_PROPERTIES(TestMEDLoader PROPERTIES ENVIRONMENT "${tests_env}")
 
 ADD_EXECUTABLE(TestSauvLoader ${TestSauvLoader_SOURCES})
 
 TARGET_LINK_LIBRARIES(TestSauvLoader medloader InterpKernelTestUtils ${CPPUNIT_LIBRARIES} ${PLATFORM_LIBS})
-ADD_TEST(TestSauvLoader TestSauvLoader)
-SET_TESTS_PROPERTIES(TestSauvLoader PROPERTIES ENVIRONMENT "${tests_env}")
 
 INSTALL(TARGETS TestMEDLoader TestSauvLoader DESTINATION ${MEDCOUPLING_INSTALL_BINS})
 
+SET(BASE_TESTS TestMEDLoader TestSauvLoader)
+
+FOREACH(test ${BASE_TESTS})
+  ADD_TEST(NAME ${test}
+           COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/MCTestLauncher.py ${CMAKE_CURRENT_BINARY_DIR}/${test})
+  SET_TESTS_PROPERTIES(${test} PROPERTIES ENVIRONMENT "${tests_env}")
+ENDFOREACH()
+
 # Application tests
 
 SET(TEST_INSTALL_DIRECTORY ${MEDCOUPLING_INSTALL_TESTS}/MEDLoader)
 INSTALL(TARGETS TestMEDLoader TestSauvLoader DESTINATION ${TEST_INSTALL_DIRECTORY})
+INSTALL(FILES MCTestLauncher.py DESTINATION ${TEST_INSTALL_DIRECTORY})
 
 INSTALL(FILES CTestTestfileInstall.cmake
         DESTINATION ${TEST_INSTALL_DIRECTORY}
index 172b9a9b1c95f55191661862e8e7855edab966dc..6ff453f17df0d81a6bd252229916d93f55e18993 100644 (file)
@@ -24,7 +24,7 @@ SET(TEST_NAMES
 
 FOREACH(tfile ${TEST_NAMES})
   SET(TEST_NAME ${COMPONENT_NAME}_${tfile})
-  ADD_TEST(${TEST_NAME} ${tfile})
+  ADD_TEST(${TEST_NAME} python MCTestLauncher.py ${tfile})
   SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES
     LABELS "${COMPONENT_NAME}"
     TIMEOUT ${TIMEOUT}
diff --git a/src/MEDLoader/Test/MCTestLauncher.py b/src/MEDLoader/Test/MCTestLauncher.py
new file mode 100644 (file)
index 0000000..61447e6
--- /dev/null
@@ -0,0 +1,31 @@
+#  -*- coding: iso-8859-1 -*-
+# Copyright (C) 2007-2019  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
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Author : Anthony Geay (EDF R&D)
+
+import subprocess as sp
+import sys
+import tempfile,os
+
+full_path = os.path.abspath(sys.argv[1])
+with tempfile.TemporaryDirectory() as tmpdirname:
+    os.chdir(tmpdirname)
+    p = sp.check_output(full_path)
+    print(p.decode())
+    pass
index b2717f27923879129f12e2a19e2c1aa49be51cbc..1a15991e8600f1a2e2b291b22bac807bc3136765 100644 (file)
@@ -52,7 +52,7 @@ INSTALL(TARGETS TestMEDPARTITIONER DESTINATION ${MEDCOUPLING_INSTALL_BINS})
 INSTALL(FILES ${MEDPARTITIONERTest_HEADERS_HXX} DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})
 
 SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
-ADD_TEST(TestMEDPARTITIONER TestMEDPARTITIONER)
+ADD_TEST(TestMEDPARTITIONER ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../../MEDLoader/Test/MCTestLauncher.py ${CMAKE_CURRENT_BINARY_DIR}/TestMEDPARTITIONER)
 SET_TESTS_PROPERTIES(TestMEDPARTITIONER PROPERTIES ENVIRONMENT "${tests_env}")
 
 # Application tests
index 044e8154f7c9d9b1d5d5da0ece76ece01a3a85d0..9d84e1adfda555e908c820244c8a8be673e55eaf 100644 (file)
@@ -23,7 +23,7 @@ SET(TEST_NAMES
 
 FOREACH(tfile ${TEST_NAMES})
   SET(TEST_NAME ${COMPONENT_NAME}_${tfile})
-  ADD_TEST(${TEST_NAME} ${tfile})
+  ADD_TEST(${TEST_NAME} python ../MEDLoader/MCTestLauncher.py ${tfile})
   SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES
     LABELS "${COMPONENT_NAME}"
     TIMEOUT ${TIMEOUT}
index 4414b2286edf2ad7051b2533c1cedceddf1a605f..86bd05e0d3a8d72647176c777092512ab804249d 100644 (file)
 from MEDPartitioner import *
 from MEDLoader import *
 import unittest
-from MEDLoaderDataForTest import MEDLoaderDataForTest
+from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
 
 class MEDPartitionerTest(unittest.TestCase):
+    @WriteInTmpDir
     def testPartition(self):
         fname="PyPartitionTest.med"
         data=MEDLoaderDataForTest.buildACompleteMEDDataStructureWithFieldsOnCells_1()
@@ -38,7 +39,8 @@ class MEDPartitionerTest(unittest.TestCase):
         m1d=data1.getMeshes().getMeshAtPos(0)
         m2d=data2.getMeshes().getMeshAtPos(0)
         self.assertTrue(m1d.isEqual(m2d,1e-12))
-    pass
+        pass
+    @WriteInTmpDir
     def testPartitionGraph(self):
         data=MEDLoaderDataForTest.buildACompleteMEDDataStructureWithFieldsOnCells_1()
         m=data.getMeshes().getMeshAtPos(0)
@@ -47,7 +49,8 @@ class MEDPartitionerTest(unittest.TestCase):
         tool=MEDPartitioner(data,graph)
         data2=tool.getMEDFileData()
         self.assertEqual( 2, data2.getMeshes().getNumberOfMeshes() )
-    pass
+        pass
+    @WriteInTmpDir
     def testPartitionWithJoints(self):
         # cartesian mesh 4x4
         arr=DataArrayDouble(5) ; arr.iota()
@@ -90,6 +93,7 @@ class MEDPartitionerTest(unittest.TestCase):
         pass
         self.assertEqual(1,found)
     pass
+    @WriteInTmpDir
     def testPartitionPartGraph(self):
         arr=DataArrayDouble(5) ; arr.iota()
         c=MEDCouplingCMesh() ; c.setCoords(arr,arr)
index ed6342403ed3d174da06c8da7ab6e25e320cd98a..33ea03f6b33140f456e458adf45c84bbb4554552 100644 (file)
@@ -78,7 +78,7 @@ SET_TESTS_PROPERTIES(MEDRenumberUserGuide PROPERTIES ENVIRONMENT "${tests_env}")
 # Application tests
 
 SET(TEST_INSTALL_DIRECTORY ${MEDCOUPLING_INSTALL_TESTS}/RENUMBER_Swig)
-INSTALL(FILES MEDRenumberTest.py DESTINATION ${TEST_INSTALL_DIRECTORY})
+INSTALL(FILES MEDRenumberTest.py UsersGuideExamplesTest.py DESTINATION ${TEST_INSTALL_DIRECTORY})
 
 INSTALL(FILES CTestTestfileInstall.cmake
         DESTINATION ${TEST_INSTALL_DIRECTORY}
index b1ff7db290c50d397a1fd47f62a46c356c1ce347..1486a62cc1d178298ff892a22a5cc955b6aacaf8 100644 (file)
@@ -30,3 +30,11 @@ FOREACH(tfile ${TEST_NAMES})
     ENVIRONMENT "PYTHONPATH=../../bin:$ENV{PYTHONPATH}"
     )
 ENDFOREACH()
+
+SET(TEST_NAME ${COMPONENT_NAME}_RENUMBER_Swig_UsersGuideExamplesTest)
+ADD_TEST(${TEST_NAME} python UsersGuideExamplesTest.py)
+SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES
+  LABELS "${COMPONENT_NAME}"
+  TIMEOUT ${TIMEOUT}
+  ENVIRONMENT "PYTHONPATH=../../bin:$ENV{PYTHONPATH}"
+  )
index 63b66c9ff045c855ed5146e0ba05ecf25417ba2a..12e1088dc046ad98c651fe110b74d81bd7537b0e 100644 (file)
@@ -31,9 +31,26 @@ if sys.platform == "win32":
     import MEDCouplingCompat as MEDCoupling
 else:
     import MEDCoupling
+    
+def build2DTargetMesh_1():
+    targetCoords=[-0.3,-0.3, 0.2,-0.3, 0.7,-0.3, -0.3,0.2, 0.2,0.2, 0.7,0.2, -0.3,0.7, 0.2,0.7, 0.7,0.7 ];
+    targetConn=[0,3,4,1, 1,4,2, 4,5,2, 6,7,4,3, 7,8,5,4];
+    targetMesh=MEDCouplingUMesh.New();
+    targetMesh.setMeshDimension(2);
+    targetMesh.allocateCells(5);
+    targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[0:4]);
+    targetMesh.insertNextCell(NORM_TRI3,3,targetConn[4:7]);
+    targetMesh.insertNextCell(NORM_TRI3,3,targetConn[7:10]);
+    targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[10:14]);
+    targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[14:18]);
+    targetMesh.finishInsertingCells();
+    myCoords=DataArrayDouble.New();
+    myCoords.setValues(targetCoords,9,2);
+    targetMesh.setCoords(myCoords);
+    return targetMesh;
 
-from MEDCouplingDataForTest import MEDCouplingDataForTest
-m=MEDCouplingDataForTest.build2DTargetMesh_1();
+    
+m=build2DTargetMesh_1()
 #! [UG_Optimization_0]
 from MEDRenumber import RenumberingFactory
 ren=RenumberingFactory("BOOST")