Salome HOME
Avoid 'make test' failure on invalid DISPLAY
[modules/paravis.git] / src / Plugins / MEDReader / Test / testMEDReader4.py
index 488a4e9b47418b2031c50646174a44fb2911b686..970f320b88763b6ca797506f4f3f3c189dc21db7 100644 (file)
@@ -1,10 +1,10 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2014  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2017  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.
+# 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
@@ -19,6 +19,9 @@
 #
 # Author : Anthony Geay
 
+import os
+import sys
+
 from MEDLoader import *
 
 """ This test checks that umeshes with no names work properly.
@@ -42,7 +45,7 @@ f1ts1=MEDFileField1TS()
 f0=MEDCouplingFieldDouble(ON_NODES) ; f0.setMesh(m0) ; f0.setName("f0NoPfl")
 arr0=DataArrayDouble([0.,1.,2.,3.,1.,1.5,2.2,3.1,2.,2.2,3.,3.1,3.,3.1,3.5,4.])
 f0.setArray(arr0)
-f0.checkCoherency()
+f0.checkConsistencyLight()
 f1ts0.setFieldNoProfileSBT(f0)
 #
 pfl1=DataArrayInt([0,1,2,3,4,5,6,8,9,12]) ; pfl1.setName("pfl1")
@@ -68,10 +71,10 @@ testMEDReader4_med=MEDReader(FileName=fname)
 testMEDReader4_med.AllArrays=['TS0/mesh/ComSup0/f0NoPfl@@][@@P1','TS0/mesh/ComSup0/mesh@@][@@P1']
 #testMEDReader4_med.AllTimeSteps=['0000']
 
-Glyph1=Glyph(GlyphType="Sphere",GlyphTransform="Transform2" )
-Glyph1.Scalars=['POINTS','f0NoPfl']
-Glyph1.SetScaleFactor=0.3
-Glyph1.Vectors=['POINTS', '']
+Glyph1=Glyph(Input=testMEDReader4_med,GlyphType='Sphere')
+Glyph1.ScaleArray=['POINTS','f0NoPfl']
+Glyph1.MaximumGlyphSize=0.3
+Glyph1.OrientationArray = ['POINTS', 'No orientation array']
 Glyph1.GlyphTransform="Transform2"
 
 DataRepresentation1 = Show()
@@ -84,12 +87,27 @@ function=CreatePiecewiseFunction(Points=[0.0,0.0,0.5,0.0,1.0,1.0,0.5,0.0] )
 lookupTable.ScalarOpacityFunction = function
 DataRepresentation1.LookupTable = lookupTable
 
-RenderView1 = GetRenderView()
-RenderView1.CameraViewUp = [0.06254683966704512, 0.9980420295997885, 0.0]
-RenderView1.CameraPosition = [0.8087292125440382, 1.3325993334207897, 12.692130429902462]
-RenderView1.CameraClippingRange = [6.326709113742113, 7.168262401281963]
-RenderView1.CameraFocalPoint = [0.8087292125440382, 1.3325993334207897, 0.0]
-RenderView1.CameraParallelScale = 3.712804729456109
+if '-D' not in sys.argv:
+  RenderView1 = GetRenderView()
+  RenderView1.CameraViewUp = [0.06254683966704512, 0.9980420295997885, 0.0]
+  RenderView1.CameraPosition = [0.8087292125440382, 1.3325993334207897, 12.692130429902462]
+  RenderView1.CameraFocalPoint = [0.8087292125440382, 1.3325993334207897, 0.0]
+  RenderView1.CameraParallelScale = 3.712804729456109
+
+  RenderView1.ViewSize =[300,300]
+  Render()
 
-RenderView1.ViewSize =[300,300]
-WriteImage(outImgName)
+  # compare with baseline image
+  try:
+    baselineIndex = sys.argv.index('-B')+1
+    baselinePath = sys.argv[baselineIndex]
+  except:
+    print("Could not get baseline directory. Test failed.")
+    exit(1)
+  baseline_file = os.path.join(baselinePath, "testMEDReader4.png")
+  import vtk.test.Testing
+  from vtk.util.misc import vtkGetTempDir
+  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                              threshold=1)
+  vtk.test.Testing.interact()