- @unittest.skipUnless('linux'==platform.system().lower(),"stderr redirection not ported on Windows ?")
- @unittest.skipUnless(LooseVersion(MEDFileVersionStr())<LooseVersion('4.0.0'),
- "This test is not compatible with MEDFile version 4.0.0 and above")
- def testMedFileCapabilityToCryOnNewFeatureWritingIntoOldFiles(self):
- fname="Pyfile116.med"
- errfname="Pyfile116.err"
- c=DataArrayDouble([0,1,2,3])
- m=MEDCouplingCMesh()
- m.setCoords(c,c)
- m=m.buildUnstructured()
- m.setName("mesh")
- mm=MEDFileUMesh()
- mm[0]=m
- f=MEDCouplingFieldInt(ON_CELLS)
- f.setMesh(m) ; arr2=DataArrayInt(m.getNumberOfCells()) ; arr2.iota()
- f.setArray(arr2)
- f.setName("field")
- f1ts=MEDFileIntField1TS()
- f1ts.setFieldNoProfileSBT(f)
- mm.write30(fname,2)
- f1ts.write30(fname,0)
- #
- f=MEDCouplingFieldFloat(ON_CELLS)
- f.setMesh(m) ; arr2=DataArrayFloat(m.getNumberOfCells()) ; arr2.iota()
- f.setArray(arr2)
- f.setName("field2")
- f1ts=MEDFileFloatField1TS()
- f1ts.setFieldNoProfileSBT(f)
- #
- import os,gc
- tmp=StdOutRedirect(errfname)
- self.assertRaises(InterpKernelException,f1ts.write30,fname,0)
- del tmp
- gc.collect(0)
- if os.path.exists(errfname):
- os.remove(errfname)
- pass
-