diff --git a/ThirdParty/AllMake.stage4 b/ThirdParty/AllMake.stage4 index e8dacb1cf..2571ab8c2 100755 --- a/ThirdParty/AllMake.stage4 +++ b/ThirdParty/AllMake.stage4 @@ -76,9 +76,13 @@ then ( rpm_make -p ParaView-3.8.1 -s ParaView-3.8.1.spec -u http://www.paraview.org/files/v3.8/ParaView-3.8.1.tar.gz \ -f --define='_qmakePath $QT_BIN_DIR/qmake' ) +# ( rpm_make -p ParaView-3.14.1 -s ParaView-3.14.1.spec -u http://www.paraview.org/files/v3.14/ParaView-3.14.1-Source.tar.gz \ +# -f --define='_qmakePath $QT_BIN_DIR/qmake' +# ) else echo "WARNING: " echo "WARNING: Skipping the installation of ParaView-3.8.1." +# echo "WARNING: Skipping the installation of ParaView-3.14.1." echo "WARNING: Please make sure the QT_BIN_DIR environment variable properly" echo "WARNING: initialized in the file prefs.sh or prefs.csh" echo "WARNING: The command \$QT_BIN_DIR/qmake needs to be valid" diff --git a/ThirdParty/rpmBuild/SOURCES/ParaView-3.14.1.patch_0_ParaView.git_0f43430 b/ThirdParty/rpmBuild/SOURCES/ParaView-3.14.1.patch_0_ParaView.git_0f43430 new file mode 100644 index 000000000..682a2039a --- /dev/null +++ b/ThirdParty/rpmBuild/SOURCES/ParaView-3.14.1.patch_0_ParaView.git_0f43430 @@ -0,0 +1,243901 @@ +diff -x .git -ruN orig/Applications/ParaView/ParaViewFilters.xml git_0f43430/Applications/ParaView/ParaViewFilters.xml +--- orig/Applications/ParaView/ParaViewFilters.xml 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/Applications/ParaView/ParaViewFilters.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -63,9 +63,30 @@ + + + +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -83,9 +104,6 @@ + + + +- +- +- + + + +@@ -100,10 +118,8 @@ + + + +- + + +- + + + +@@ -115,7 +131,7 @@ + + + +- ++ + + + +@@ -140,6 +156,7 @@ + + + ++ + + + +diff -x .git -ruN orig/Applications/ParaView/ParaViewReaders.xml git_0f43430/Applications/ParaView/ParaViewReaders.xml +--- orig/Applications/ParaView/ParaViewReaders.xml 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/Applications/ParaView/ParaViewReaders.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -70,4 +70,6 @@ + + + ++ ++ + +diff -x .git -ruN orig/Applications/ParaView/ParaViewSources.xml git_0f43430/Applications/ParaView/ParaViewSources.xml +--- orig/Applications/ParaView/ParaViewSources.xml 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/Applications/ParaView/ParaViewSources.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -24,4 +24,5 @@ + + + ++ + +diff -x .git -ruN orig/Applications/ParaView/Testing/Python/CMakeLists.txt git_0f43430/Applications/ParaView/Testing/Python/CMakeLists.txt +--- orig/Applications/ParaView/Testing/Python/CMakeLists.txt 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/Python/CMakeLists.txt 2012-04-20 23:43:06.000000000 -0400 +@@ -79,4 +79,32 @@ + + # TODO: remote rendering tests and reverse connect tests. + ++# only enable TestPythonAnnotationFilter test if numpy is available ++include("TestNumPy") ++ ++IF ("1" STREQUAL ${HAS_NUMPY}) ++ # Add pvpython tests ++ add_test("pvpython.TestPythonAnnotationFilter" ++ ${PARAVIEW_PYTHON_EXECUTABLE} ++ --data=${PARAVIEW_DATA_ROOT}/Data/can.ex2 ++ ${CMAKE_CURRENT_SOURCE_DIR}/TestPythonAnnotationFilter.py) ++ENDIF ("1" STREQUAL ${HAS_NUMPY}) ++ + ENDIF (PARAVIEW_DATA_ROOT) ++ ++# Python Multi-servers test ++add_test("py-multi-servers.TestMultiServersConfig" ++ ${PARAVIEW_SMTESTDRIVER_EXECUTABLE} ++ --test-multi-servers 2 ++ --server ${PARAVIEW_SERVER_EXECUTABLE} ++ --client ${PARAVIEW_PYTHON_EXECUTABLE} ++ ${CMAKE_CURRENT_SOURCE_DIR}/TestMultiServersConfig.py ++) ++ ++add_test("py-multi-servers.TestMultiServersRemoteProxy" ++ ${PARAVIEW_SMTESTDRIVER_EXECUTABLE} ++ --test-multi-servers 3 ++ --server ${PARAVIEW_SERVER_EXECUTABLE} ++ --client ${PARAVIEW_PYTHON_EXECUTABLE} ++ ${CMAKE_CURRENT_SOURCE_DIR}/TestMultiServersRemoteProxy.py ++) +diff -x .git -ruN orig/Applications/ParaView/Testing/Python/TestMultiServersConfig.py git_0f43430/Applications/ParaView/Testing/Python/TestMultiServersConfig.py +--- orig/Applications/ParaView/Testing/Python/TestMultiServersConfig.py 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/Python/TestMultiServersConfig.py 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,153 @@ ++from paraview.simple import * ++from paraview import servermanager ++ ++import time ++ ++# Make sure the test driver know that process has properly started ++print "Process started" ++errors = 0 ++ ++#-------------------- Helpers methods ---------------- ++def getHost(url): ++ return url.split(':')[1][2:] ++ ++def getScheme(url): ++ return url.split(':')[0] ++ ++def getPort(url): ++ return int(url.split(':')[2]) ++#-------------------- ++import os ++ ++def findInSubdirectory(filename, subdirectory=''): ++ if subdirectory: ++ path = subdirectory ++ else: ++ path = os.getcwd() ++ for root, dirs, names in os.walk(path): ++ for name in names: ++ if (name.find(filename) > -1) and ( (name.find('.dll') > -1) or (name.find('.so') > -1) or (name.find('.dylib') > -1)): ++ return os.path.join(root, name) ++ raise 'File not found' ++#-------------------- ++ ++print "Start multi-server testing" ++enableMultiServer() ++ ++options = servermanager.vtkProcessModule.GetProcessModule().GetOptions() ++available_server_urls = options.GetServerURL().split('|') ++built_in_connection = servermanager.ActiveConnection ++ ++# Test if the built-in connection is here ++if (len(servermanager.MultiServerConnections) != 1): ++ errors += 1 ++ print "Error pvpython should be connected to a built-in session. Currently connected to ", servermanager.MultiServerConnections ++ ++url = available_server_urls[0] ++print "Connect to first server ", url ++server1_connection = Connect(getHost(url), getPort(url)) ++ ++# Test that we have one more connection ++if (len(servermanager.MultiServerConnections) != 2): ++ errors += 1 ++ print "Error pvpython should be connected to a built-in session + one remote one. Currently connected to ", servermanager.MultiServerConnections ++ ++url = available_server_urls[1] ++print "Connect to second server ", url ++server2_connection = Connect(getHost(url), getPort(url)) ++ ++# Test that we have one more connection ++if (len(servermanager.MultiServerConnections) != 3): ++ errors += 1 ++ print "Error pvpython should be connected to a built-in session + two remote one. Currently connected to ", servermanager.MultiServerConnections ++ ++print "Available connections: ", servermanager.MultiServerConnections ++ ++# Test that last created connection is the active one ++if ( servermanager.ActiveConnection != server2_connection): ++ errors += 1 ++ print "Error Invalid active connection. Expected ", server2_connection, " and got ", servermanager.ActiveConnection ++ ++# Test that switchActiveConnection is working as expected ++switchActiveConnection(server1_connection, globals()) ++if ( servermanager.ActiveConnection != server1_connection): ++ errors += 1 ++ print "Error Invalid active connection. Expected ", server1_connection, " and got ", servermanager.ActiveConnection ++ ++# Test that switchActiveConnection is working as expected ++switchActiveConnection(built_in_connection, globals()) ++if ( servermanager.ActiveConnection != built_in_connection): ++ errors += 1 ++ print "Error Invalid active connection. Expected ", built_in_connection, " and got ", servermanager.ActiveConnection ++ ++# Test that switchActiveConnection is working as expected ++switchActiveConnection(server2_connection, globals()) ++if ( servermanager.ActiveConnection != server2_connection): ++ errors += 1 ++ print "Error Invalid active connection. Expected ", server2_connection, " and got ", servermanager.ActiveConnection ++ ++ ++# Load plugin on server2 ++switchActiveConnection(server2_connection, globals()) ++LoadDistributedPlugin("PacMan", True, globals()) ++ ++# Create PacMan on server2 ++pacMan_s2 = PacMan() ++ ++# Swtich to server1 and Create PacMan ==> This should fail ++switchActiveConnection(server1_connection, globals()) ++try: ++ pacMan_s1 = PacMan() ++ errors += 1 ++ print "Error: PacMan should not be available on Server1" ++except NameError: ++ print "OK: PacMan is not available on server1" ++ ++# Swtich to server2 with globals and switch back to server1 with not updating the globals ++switchActiveConnection(server2_connection, globals()) ++switchActiveConnection(server1_connection) ++ ++# Create PacMan ==> This should fail ++try: ++ pacMan_s1 = PacMan() ++ errors += 1 ++ print "Error: PacMan should not be available on Server1" ++except RuntimeError: ++ print "OK: PacMan is not available on server1" ++ ++# Make sure built-in as not the pacMan ++switchActiveConnection(server2_connection, globals()) ++switchActiveConnection(built_in_connection, globals()) ++try: ++ pacMan_builtin = PacMan() ++ errors += 1 ++ print "Error: PacMan should not be available on built-in" ++except NameError: ++ print "OK: PacMan is not available on built-in" ++ ++# Load plugin localy for built-in ++# Create PacMan ==> This should be OK on built-in ++switchActiveConnection(built_in_connection, globals()) ++LoadDistributedPlugin("PacMan", False, globals()) ++pacMan_builtin = PacMan() ++print "After loading the plugin locally in built-in, the PacMan definition is available" ++ ++# Swtich to server1 and Create PacMan ==> This should fail ++switchActiveConnection(server1_connection, globals()) ++try: ++ pacMan_s1 = PacMan() ++ errors += 1 ++ print "Error: PacMan should not be available on Server1" ++except NameError: ++ print "OK: PacMan is still not available on server1" ++ ++# Disconnect and quit application... ++Disconnect() ++print "Available connections after disconnect: ", servermanager.MultiServerConnections ++Disconnect() ++print "Available connections after disconnect: ", servermanager.MultiServerConnections ++Disconnect() ++print "Available connections after disconnect: ", servermanager.MultiServerConnections ++ ++if errors > 0: ++ raise RuntimeError, "An error occured during the execution" +diff -x .git -ruN orig/Applications/ParaView/Testing/Python/TestMultiServersRemoteProxy.py git_0f43430/Applications/ParaView/Testing/Python/TestMultiServersRemoteProxy.py +--- orig/Applications/ParaView/Testing/Python/TestMultiServersRemoteProxy.py 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/Python/TestMultiServersRemoteProxy.py 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,151 @@ ++from paraview.simple import * ++from paraview import servermanager ++ ++import time ++ ++# Make sure the test driver know that process has properly started ++print "Process started" ++errors = 0 ++ ++#-------------------- Helpers methods ---------------- ++def getHost(url): ++ return url.split(':')[1][2:] ++ ++def getScheme(url): ++ return url.split(':')[0] ++ ++def getPort(url): ++ return int(url.split(':')[2]) ++#-------------------- ++ ++print "Start multi-server testing" ++enableMultiServer() ++ ++options = servermanager.vtkProcessModule.GetProcessModule().GetOptions() ++available_server_urls = options.GetServerURL().split('|') ++built_in_connection = servermanager.ActiveConnection ++ ++# Test if the built-in connection is here ++if (len(servermanager.MultiServerConnections) != 1): ++ errors += 1 ++ print "Error pvpython should be connected to a built-in session. Currently connected to ", servermanager.MultiServerConnections ++ ++url = available_server_urls[0] ++print "Connect to first server ", url ++server1_connection = Connect(getHost(url), getPort(url)) ++ ++# Test that we have one more connection ++if (len(servermanager.MultiServerConnections) != 2): ++ errors += 1 ++ print "Error pvpython should be connected to a built-in session + one remote one. Currently connected to ", servermanager.MultiServerConnections ++ ++url = available_server_urls[1] ++print "Connect to second server ", url ++server2_connection = Connect(getHost(url), getPort(url)) ++ ++# Test that we have one more connection ++if (len(servermanager.MultiServerConnections) != 3): ++ errors += 1 ++ print "Error pvpython should be connected to a built-in session + two remote one. Currently connected to ", servermanager.MultiServerConnections ++ ++url = available_server_urls[2] ++print "Connect to third server ", url ++server3_connection = Connect(getHost(url), getPort(url)) ++ ++# Test that we have one more connection ++if (len(servermanager.MultiServerConnections) != 4): ++ errors += 1 ++ print "Error pvpython should be connected to a built-in session + three remote one. Currently connected to ", servermanager.MultiServerConnections ++ ++print "Available connections: ", servermanager.MultiServerConnections ++ ++# Test that last created connection is the active one ++if ( servermanager.ActiveConnection != server3_connection): ++ errors += 1 ++ print "Error Invalid active connection. Expected ", server3_connection, " and got ", servermanager.ActiveConnection ++ ++# ------- Do the proper RemoteSourceProxy testing -------------- ++ ++# Create a set of sphere across the remote sessions ++switchActiveConnection(server1_connection, globals()) ++rSphere1 = Sphere(ThetaResolution=10, PhiResolution=10) ++rSphere1.UpdatePipeline() ++size1 = rSphere1.GetDataInformation().GetNumberOfPoints() ++ ++switchActiveConnection(server2_connection, globals()) ++rSphere2 = Sphere(ThetaResolution=11, PhiResolution=11) ++rSphere2.UpdatePipeline() ++size2 = rSphere2.GetDataInformation().GetNumberOfPoints() ++ ++switchActiveConnection(server3_connection, globals()) ++rSphere3 = Sphere(ThetaResolution=12, PhiResolution=12) ++rSphere3.UpdatePipeline() ++size3 = rSphere3.GetDataInformation().GetNumberOfPoints() ++ ++# Create remote source on the built-in session ++switchActiveConnection(built_in_connection, globals()) ++remoteProxy = RemoteSourceProxy() ++remoteProxy.SetExternalProxy(rSphere1, 0) ++remoteProxy.UpdatePipeline() ++ ++# Test that the data in built-in is the same size as the remote one ++remoteProxy.UpdatePipeline() ++size = remoteProxy.GetDataInformation().GetNumberOfPoints() ++if ( size1 != size ): ++ errors += 1 ++ print "Error Invalid data size. Expected ", size1, " and got ", size ++else: ++ print "Found size ", size, " for server 1" ++ ++# Switch to proxy on server 2 and test size ++remoteProxy.SetExternalProxy(rSphere2, 0) ++remoteProxy.UpdatePipeline() ++size = remoteProxy.GetDataInformation().GetNumberOfPoints() ++if ( size2 != size ): ++ errors += 1 ++ print "Error Invalid data size. Expected ", size2, " and got ", size ++else: ++ print "Found size ", size, " for server 2" ++ ++# Switch to proxy on server 3 and test size ++remoteProxy.SetExternalProxy(rSphere3, 0) ++remoteProxy.UpdatePipeline() ++size = remoteProxy.GetDataInformation().GetNumberOfPoints() ++if ( size3 != size ): ++ errors += 1 ++ print "Error Invalid data size. Expected ", size3, " and got ", size ++else: ++ print "Found size ", size, " for server 3" ++ ++# Change data size on server 3 and make sure the change get propagated to the built-in ++rSphere3.ThetaResolution = 13 ++rSphere3.PhiResolution = 13 ++rSphere3.UpdatePipeline() ++size3 = rSphere3.GetDataInformation().GetNumberOfPoints() ++ ++remoteProxy.UpdatePipeline() ++size = remoteProxy.GetDataInformation().GetNumberOfPoints() ++if ( size3 != size ): ++ errors += 1 ++ print "Error Invalid data size. Expected ", size3, " and got ", size ++else: ++ print "Found size ", size, " for server 3 after update" ++ ++# Make sure the size is not 0 ++if ( size == 0 or size1 == 0 or size1 == 0 or size1 == 0): ++ errors += 1 ++ print "Error Invalid data size. None of them should be 0" ++ ++# -------------------------------------------------------------- ++# Disconnect and quit application... ++Disconnect() ++print "Available connections after disconnect: ", servermanager.MultiServerConnections ++Disconnect() ++print "Available connections after disconnect: ", servermanager.MultiServerConnections ++Disconnect() ++print "Available connections after disconnect: ", servermanager.MultiServerConnections ++Disconnect() ++print "Available connections after disconnect: ", servermanager.MultiServerConnections ++ ++if errors > 0: ++ raise RuntimeError, "An error occured during the execution" +diff -x .git -ruN orig/Applications/ParaView/Testing/Python/TestPythonAnnotationFilter.py git_0f43430/Applications/ParaView/Testing/Python/TestPythonAnnotationFilter.py +--- orig/Applications/ParaView/Testing/Python/TestPythonAnnotationFilter.py 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/Python/TestPythonAnnotationFilter.py 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,119 @@ ++from paraview.simple import * ++from paraview import servermanager ++ ++import time ++ ++# Make sure the test driver know that process has properly started ++print "Process started" ++errors = 0 ++ ++#-------------------- Comparison helper ---------------------- ++ ++def equal(a, b): ++ if a == b: ++ return True ++ aList = a.replace(","," ").replace("["," ").replace("]", " ").split(" ") ++ bList = b.replace(","," ").replace("["," ").replace("]", " ").split(" ") ++ size = len(aList) ++ if size != len(bList): ++ return False ++ for i in xrange(size): ++ if len(aList[i]) > 0: ++ af = float(aList[i]) ++ bf = float(bList[i]) ++ if ((af-bf)*(af-bf)) > 0.000001: ++ return False ++ return True ++ ++#-------------------- Start testing -------------------------- ++ ++print "Start PythonAnnotationFilter testing" ++ ++options = servermanager.vtkProcessModule.GetProcessModule().GetOptions() ++dataToLoad = options.GetParaViewDataName() ++ ++ ++# Load data file ++reader = OpenDataFile(dataToLoad) ++reader.GlobalVariables = ['KE', 'XMOM', 'YMOM', 'ZMOM', 'NSTEPS', 'TMSTEP'] ++reader.UpdatePipeline() ++ ++# Time management ++timesteps = servermanager.ProxyManager().GetProxy('timekeeper','TimeKeeper').TimestepValues ++time = timesteps[5] ++ ++# Merge blocks ++merge = MergeBlocks() ++ ++# Annotation filter ++annotation = PythonAnnotation() ++annotation.Expression = '"%f %f %f" % (XMOM[t_index], YMOM[t_index], ZMOM[t_index])' ++ ++# Update time and trigger pipeline execution ++time = timesteps[5] ++annotation.UpdatePipeline(time) ++ ++annotation.SMProxy.UpdatePropertyInformation() ++value = annotation.SMProxy.GetProperty('AnnotationValue').GetElement(0) ++expected = "0.012132 0.001378 -1158.252808" ++ ++if not equal(value, expected): ++ errors += 1 ++ print "Error: Expected ", expected, " and got ", value ++ ++# Update time and trigger pipeline execution ++time = timesteps[7] ++annotation.UpdatePipeline(time) ++ ++annotation.SMProxy.UpdatePropertyInformation() ++value = annotation.SMProxy.GetProperty('AnnotationValue').GetElement(0) ++expected = "0.013970 0.001319 -1141.020020" ++ ++if not equal(value, expected): ++ errors += 1 ++ print "Error: Expected ", expected, " and got ", value ++ ++# Check time infos ++annotation.Expression = '"%i %f %s" % (t_index, t_value, str(t_range))' ++ ++# Update time and trigger pipeline execution ++time = timesteps[7] ++annotation.UpdatePipeline(time) ++ ++annotation.SMProxy.UpdatePropertyInformation() ++value = annotation.SMProxy.GetProperty('AnnotationValue').GetElement(0) ++expected = "7 0.000700 [0, 0.00429999]" ++ ++if not equal(value, expected): ++ errors += 1 ++ print "Error: Expected ", expected, " and got ", value ++ ++# Update time and trigger pipeline execution ++time = timesteps[27] ++annotation.UpdatePipeline(time) ++ ++annotation.SMProxy.UpdatePropertyInformation() ++value = annotation.SMProxy.GetProperty('AnnotationValue').GetElement(0) ++expected = "27 0.002700 [0, 0.00429999]" ++ ++if not equal(value, expected): ++ errors += 1 ++ print "Error: Expected ", expected, " and got ", value ++ ++# Update time and trigger pipeline execution ++time = timesteps[len(timesteps)-1] ++annotation.UpdatePipeline(time) ++ ++annotation.SMProxy.UpdatePropertyInformation() ++value = annotation.SMProxy.GetProperty('AnnotationValue').GetElement(0) ++expected = "43 0.004300 [0, 0.00429999]" ++ ++if not equal(value, expected): ++ errors += 1 ++ print "Error: Expected ", expected, " and got ", value ++ ++# Disconnect and quit application... ++Disconnect() ++ ++if errors > 0: ++ raise RuntimeError, "An error occured during the execution" +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/CMakeLists.txt git_0f43430/Applications/ParaView/Testing/XML/CMakeLists.txt +--- orig/Applications/ParaView/Testing/XML/CMakeLists.txt 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/XML/CMakeLists.txt 2012-04-20 23:43:06.000000000 -0400 +@@ -142,6 +142,10 @@ + SET(TESTS_WITH_BASELINES ${TESTS_WITH_BASELINES} ${CMAKE_CURRENT_SOURCE_DIR}/FindDataDialog.xml) + ENDIF ("1" STREQUAL ${HAS_NUMPY}) + ++# These tests cannot be run using ctest -j since they are affected by focus ++# changed events. ++set (AnimatePipelineTime_FORCE_SERIAL TRUE) ++ + # Set properties for CTH tests + set(CTHAMRBaseline_BREAK TRUE) + +@@ -202,6 +206,7 @@ + + SET(ExtractLevel_BREAK TRUE) + ++SET(Fractal2D_BREAK TRUE) + + # Add image threshold overrides for tests. + # Generally all tests with wireframes need higher thresholds. +@@ -350,74 +355,79 @@ + + # List of test Enable for collaboration + set (AnimatePipelineTime_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (CalcParens_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Calculator_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (CameraLink_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ColorEditor2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ColorEditor4_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (CompositeSurfaceSelection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (CalcParens_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Calculator_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (CameraLink_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ColorEditor2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ColorEditor4_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (CompositeSurfaceSelection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (Contour_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ContourRange_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ContourRange_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (CreateDelete_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (CustomSourceProbe_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (D3SmallCells_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (DualSphereAnimation_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (EnSight_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ExodusIIPanel_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ExodusModeShapes_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ExodusXML_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ExTimeseries_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ExTimeseries2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ExtractBlock_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ExtractLevel_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (FindDataDialog_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (FFTOverTime_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Flow_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Flow2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Fractal2D_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (GridConnectivity_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (NormalGlyphs_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ObjectInspectorSphere_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (OpenSaveData_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Plot3DReader_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (PlotEdges_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (PlotEdges2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (PropertyConversion_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (CustomSourceProbe_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (D3SmallCells_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (DualSphereAnimation_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (EnSight_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ExodusIIPanel_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ExodusModeShapes_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ExodusXML_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ExTimeseries_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ExTimeseries2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ExtractBlock_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ExtractLevel_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (FindDataDialog_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (FFTOverTime_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Flow_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Flow2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Fractal2D_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (GridConnectivity_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (NormalGlyphs_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ObjectInspectorSphere_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (OpenSaveData_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Plot3DReader_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (PlotEdges_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (PlotEdges2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (PropertyConversion_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (PropertyConversion1_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (PropertyConversion2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-# disabling since the state file doesn't have view layout and such old state +-# files are not currently supported in collaborative mode. +-#set (PropertyLink_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (ReadXMLPolyDataFileSeries_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (RepresentationSelector_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (SaveColorMap_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (SaveCSV_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (SelectReader_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (SimpleInteraction_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Slice_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++## disabling since the state file doesn't have view layout and such old state ++## files are not currently supported in collaborative mode. ++##set (PropertyLink_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (ReadXMLPolyDataFileSeries_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (RepresentationSelector_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (SaveColorMap_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (SaveCSV_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (SelectReader_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (SimpleInteraction_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Slice_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (SpreadSheet1_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (SpreadSheet2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (SPTimeseries_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (SpyPlotHistoryReader_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (StreamTracerUpdates_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (SpreadSheet2_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (SPTimeseries_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (SpyPlotHistoryReader_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (StreamTracerUpdates_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (TemporalInterpolator_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (TemporalShiftScale_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Tessellate_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (Threshold_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (UnstructuredOutline_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Tessellate_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (Threshold_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (UnstructuredOutline_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (VariableSelector_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (VariableSelector1_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (XdmfRead_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XdmfReadImageData_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XdmfReadImageDataCollection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XdmfReadRectilinearGrid_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XdmfReadRectilinearGridCollection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XdmfReadStructuredGrid_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XdmfReadStructuredGridCollection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XdmfGridAttributes_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) +-set (XYChart_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XdmfReadImageData_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XdmfReadImageDataCollection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XdmfReadRectilinearGrid_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XdmfReadRectilinearGridCollection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XdmfReadStructuredGrid_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XdmfReadStructuredGridCollection_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XdmfGridAttributes_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) ++#set (XYChart_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + set (ZLibXDMF_ENABLE_COLLAB ${PARAVIEW_COLLABORATION_TESTING}) + ++ ++set(TESTS_WITH_MULTI_SERVERS_3 ++ ${CMAKE_CURRENT_SOURCE_DIR}/TestMultiServer3.xml ++) ++ + IF (PARAVIEW_DATA_ROOT) + set (TESTS_WITHOUT_BASELINES + ${TESTS_WITHOUT_BASELINES} +@@ -460,4 +470,28 @@ + BASELINE_DIR ${PARAVIEW_DATA_ROOT}/Baseline + TEST_SCRIPTS ${TESTS_WITH_BASELINES}) + ++ add_multi_server_tests("pvcs-multi-servers" 3 ++ BASELINE_DIR ${PARAVIEW_DATA_ROOT}/Baseline ++ TEST_SCRIPTS ${TESTS_WITH_MULTI_SERVERS_3}) ++ ++ add_tile_display_tests("pvcs-tile-display" 2 1 ++ BASELINE_DIR ${PARAVIEW_DATA_ROOT}/Baseline ++ TEST_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/TileDisplayScatterPlot-2x1.xml) ++ ++ add_tile_display_tests("pvcs-tile-display" 2 2 ++ BASELINE_DIR ${PARAVIEW_DATA_ROOT}/Baseline ++ TEST_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/TileDisplayScatterPlot-2x2.xml) ++ ++ add_tile_display_tests("pvcs-tile-display" 1 2 ++ BASELINE_DIR ${PARAVIEW_DATA_ROOT}/Baseline ++ TEST_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/TileDisplay3DTesting-1x2.xml) ++ ++ add_tile_display_tests("pvcs-tile-display" 2 1 ++ BASELINE_DIR ${PARAVIEW_DATA_ROOT}/Baseline ++ TEST_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/TileDisplay3DTesting-2x1.xml) ++ ++ add_tile_display_tests("pvcs-tile-display" 2 2 ++ BASELINE_DIR ${PARAVIEW_DATA_ROOT}/Baseline ++ TEST_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/TileDisplay3DTesting-2x2.xml) ++ + ENDIF (PARAVIEW_DATA_ROOT) +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/CameraLink.xml git_0f43430/Applications/ParaView/Testing/XML/CameraLink.xml +--- orig/Applications/ParaView/Testing/XML/CameraLink.xml 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/XML/CameraLink.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -23,5 +23,4 @@ + + + +- + +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/ExtractLevel.xml git_0f43430/Applications/ParaView/Testing/XML/ExtractLevel.xml +--- orig/Applications/ParaView/Testing/XML/ExtractLevel.xml 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/XML/ExtractLevel.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -3,6 +3,8 @@ + + + ++ ++ + + + +@@ -23,8 +25,5 @@ + + + +- +- +- + + +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/EyeDomeLighting.xml git_0f43430/Applications/ParaView/Testing/XML/EyeDomeLighting.xml +--- orig/Applications/ParaView/Testing/XML/EyeDomeLighting.xml 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/XML/EyeDomeLighting.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -10,6 +10,4 @@ + + + +- +- + +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/Fractal2D.xml git_0f43430/Applications/ParaView/Testing/XML/Fractal2D.xml +--- orig/Applications/ParaView/Testing/XML/Fractal2D.xml 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/XML/Fractal2D.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -4,9 +4,9 @@ + + + +- + ++ + + + +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/OpenHelp.xml git_0f43430/Applications/ParaView/Testing/XML/OpenHelp.xml +--- orig/Applications/ParaView/Testing/XML/OpenHelp.xml 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/XML/OpenHelp.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -1,10 +1,7 @@ + + + +- + + +- +- +- ++ + +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/SpyPlotHistoryReader.xml git_0f43430/Applications/ParaView/Testing/XML/SpyPlotHistoryReader.xml +--- orig/Applications/ParaView/Testing/XML/SpyPlotHistoryReader.xml 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/Applications/ParaView/Testing/XML/SpyPlotHistoryReader.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -3,15 +3,17 @@ + + + ++ + + + + + + +- +- +- ++ ++ ++ ++ + + + +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/TestMultiServer3.xml git_0f43430/Applications/ParaView/Testing/XML/TestMultiServer3.xml +--- orig/Applications/ParaView/Testing/XML/TestMultiServer3.xml 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/XML/TestMultiServer3.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,43 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/TileDisplay3DTesting-1x2.xml git_0f43430/Applications/ParaView/Testing/XML/TileDisplay3DTesting-1x2.xml +--- orig/Applications/ParaView/Testing/XML/TileDisplay3DTesting-1x2.xml 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/XML/TileDisplay3DTesting-1x2.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,41 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x1.xml git_0f43430/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x1.xml +--- orig/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x1.xml 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x1.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,41 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x2.xml git_0f43430/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x2.xml +--- orig/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x2.xml 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/XML/TileDisplay3DTesting-2x2.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,44 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x1.xml git_0f43430/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x1.xml +--- orig/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x1.xml 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x1.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,16 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -x .git -ruN orig/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x2.xml git_0f43430/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x2.xml +--- orig/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x2.xml 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/Applications/ParaView/Testing/XML/TileDisplayScatterPlot-2x2.xml 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,18 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -x .git -ruN orig/CMake/ParaViewCommon.cmake git_0f43430/CMake/ParaViewCommon.cmake +--- orig/CMake/ParaViewCommon.cmake 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/CMake/ParaViewCommon.cmake 2012-04-20 23:43:06.000000000 -0400 +@@ -344,9 +344,6 @@ + # Set this to get VTKs FOR LOOP "fix" to apply too all of Paraviews Source. + SET(VTK_USE_FOR_SCOPE_WORKAROUND TRUE) + +-CONFIGURE_FILE(${ParaView_SOURCE_DIR}/VTK/Utilities/TclTk/.NoDartCoverage +- ${ParaView_BINARY_DIR}/VTK/.NoDartCoverage) +- + OPTION(PARAVIEW_DISABLE_VTK_TESTING "Disable VTK Testing" OFF) + MARK_AS_ADVANCED(PARAVIEW_DISABLE_VTK_TESTING) + IF (PARAVIEW_DISABLE_VTK_TESTING) +@@ -403,7 +400,7 @@ + ) + ENDIF(PARAVIEW_ENABLE_PYTHON) + +-SET(kits Common Charts Filtering GenericFiltering IO Imaging Rendering Parallel Graphics Hybrid VolumeRendering Widgets) ++SET(kits Common AMR Charts Filtering GenericFiltering IO Imaging Rendering Parallel Graphics Hybrid VolumeRendering Widgets) + FOREACH(kit ${kits}) + SET(VTK_INCLUDE_DIR ${VTK_INCLUDE_DIR} + ${ParaView_SOURCE_DIR}/VTK/${kit} +diff -x .git -ruN orig/CMake/ParaViewTestingMacros.cmake git_0f43430/CMake/ParaViewTestingMacros.cmake +--- orig/CMake/ParaViewTestingMacros.cmake 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/CMake/ParaViewTestingMacros.cmake 2012-04-20 23:43:06.000000000 -0400 +@@ -27,6 +27,8 @@ + set (counter 0) + set (extra_args) + set (full_test_name) ++ set (force_serial FALSE) ++ + while (${counter} LESS ${TEST_GROUP_SIZE}) + list(LENGTH ACT_TEST_SCRIPTS num_tests) + if (num_tests) +@@ -57,6 +59,9 @@ + if (DEFINED ${test_name}_BREAK) + set (counter 100000) # stop the group. + endif (DEFINED ${test_name}_BREAK) ++ if (${test_name}_FORCE_SERIAL) ++ set (force_serial TRUE) ++ endif (${test_name}_FORCE_SERIAL) + endwhile (${counter} LESS ${TEST_GROUP_SIZE}) + + if (extra_args) +@@ -66,6 +71,10 @@ + ${extra_args} + --exit + ) ++ if (force_serial) ++ set_tests_properties("${prefix}${full_test_name}" PROPERTIES RUN_SERIAL ON) ++ message(STATUS "Running in serial \"${prefix}${full_test_name}\"") ++ endif() + endif (extra_args) + endwhile (ACT_TEST_SCRIPTS) + +@@ -133,6 +142,69 @@ + ${extra_args} + --exit + ) ++ if (${test_name}_FORCE_SERIAL) ++ set_tests_properties("${prefix}.${test_name}" PROPERTIES RUN_SERIAL ON) ++ message(STATUS "Running in serial \"${prefix}.${test_name}\"") ++ endif (${test_name}_FORCE_SERIAL) + endif() + endforeach(test_script) + ENDFUNCTION(add_multi_client_tests) ++ ++FUNCTION(add_multi_server_tests prefix nbServers) ++ PV_PARSE_ARGUMENTS(ACT "TEST_SCRIPTS;BASELINE_DIR" "" ${ARGN}) ++ ++ foreach (test_script ${ACT_TEST_SCRIPTS}) ++ get_filename_component(test_name ${test_script} NAME_WE) ++ set (extra_args) ++ process_args(extra_args) ++ add_test("${prefix}.${test_name}" ++ ${PARAVIEW_SMTESTDRIVER_EXECUTABLE} ++ --test-multi-servers ${nbServers} ++ --server ${PARAVIEW_SERVER_EXECUTABLE} ++ ++ --client ${CLIENT_EXECUTABLE} ++ -dr ++ --disable-light-kit ++ --test-directory=${PARAVIEW_TEST_DIR} ++ --test-script=${test_script} ++ ${extra_args} ++ --exit ++ ) ++ endforeach(test_script) ++ENDFUNCTION(add_multi_server_tests) ++ ++FUNCTION (add_tile_display_tests prefix tdx tdy ) ++ PV_PARSE_ARGUMENTS(ACT "TEST_SCRIPTS;BASELINE_DIR" "" ${ARGN}) ++ ++ ++ MATH(EXPR REQUIRED_CPU '${tdx}*${tdy}-1') # -1 is for LESS ++ if (${REQUIRED_CPU} LESS ${VTK_MPI_MAX_NUMPROCS}) ++ foreach (test_script ${ACT_TEST_SCRIPTS}) ++ ++ get_filename_component(test_name ${test_script} NAME_WE) ++ set (extra_args) ++ process_args(extra_args) ++ add_test("${prefix}-${tdx}x${tdy}.${test_name}" ++ ${PARAVIEW_SMTESTDRIVER_EXECUTABLE} ++ --test-tiled ${tdx} ${tdy} ++ --server ${PARAVIEW_SERVER_EXECUTABLE} ++ ++ --client ${CLIENT_EXECUTABLE} ++ -dr ++ --disable-light-kit ++ --test-directory=${PARAVIEW_TEST_DIR} ++ --test-script=${test_script} ++ --tile-image-prefix=${PARAVIEW_TEST_DIR}/${test_name} ++ ++ ${extra_args} ++ --exit ++ ) ++ set_property(TEST "${prefix}-${tdx}x${tdy}.${test_name}" ++ PROPERTY ENVIRONMENT "PV_ICET_WINDOW_BORDERS=1") ++ if (${test_name}_FORCE_SERIAL) ++ set_tests_properties("${prefix}.${test_name}" PROPERTIES RUN_SERIAL ON) ++ message(STATUS "Running in serial \"${prefix}.${test_name}\"") ++ endif (${test_name}_FORCE_SERIAL) ++ endforeach(test_script) ++ endif(${REQUIRED_CPU} LESS ${VTK_MPI_MAX_NUMPROCS}) ++ENDFUNCTION (add_tile_display_tests) +diff -x .git -ruN orig/CMakeLists.txt git_0f43430/CMakeLists.txt +--- orig/CMakeLists.txt 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/CMakeLists.txt 2012-04-20 23:43:06.000000000 -0400 +@@ -62,9 +62,9 @@ + SET (PARAVIEW_VERSION_MAJOR 3) + SET (PARAVIEW_VERSION_MINOR 14) + SET (PARAVIEW_VERSION_PATCH 1) +-SET (PARAVIEW_VERSION_PATCH_EXTRA) ++SET (PARAVIEW_VERSION_PATCH_EXTRA "enhanced") + SET (PARAVIEW_VERSION "3.14") +-SET (PARAVIEW_VERSION_FULL "3.14.1") ++SET (PARAVIEW_VERSION_FULL "3.14.1-enhanced") + + INCLUDE(ParaViewDetermineVersion) + determine_version( +@@ -361,7 +361,7 @@ + + ######################################################################### + # Configure the CoProcessing library +-OPTION(PARAVIEW_ENABLE_COPROCESSING "Enable/Disable the CoProcessing library." OFF) ++OPTION(PARAVIEW_ENABLE_COPROCESSING "Enable/Disable the CoProcessing library." ON) + MARK_AS_ADVANCED(PARAVIEW_ENABLE_COPROCESSING) + IF (PARAVIEW_ENABLE_COPROCESSING) + ADD_SUBDIRECTORY (CoProcessing) +@@ -395,48 +395,11 @@ + DESTINATION ${PV_INSTALL_INCLUDE_DIR} + COMPONENT Development) + +- SET(cmakeDevFiles +- ${ParaView_CMAKE_DIR}/branded_splash.png +- ${ParaView_SOURCE_DIR}/ParaViewUse.cmake +- ${ParaView_CMAKE_DIR}/ParaViewMacros.cmake +- ${ParaView_CMAKE_DIR}/ParaViewPlugins.cmake +- ${ParaView_CMAKE_DIR}/ParaViewBranding.cmake +- ${ParaView_CMAKE_DIR}/ParaViewBrandingCPack.cmake +- ${ParaView_CMAKE_DIR}/pqParaViewPlugin.cxx.in +- ${ParaView_CMAKE_DIR}/pqParaViewPlugin.h.in +- ${ParaView_CMAKE_DIR}/branded_paraview_initializer.cxx.in +- ${ParaView_CMAKE_DIR}/branded_paraview_main.cxx.in +- ${ParaView_CMAKE_DIR}/branded_paraview_initializer.h.in +- ${ParaView_CMAKE_DIR}/ParaViewCPackOptions.cmake.in +- ${ParaView_CMAKE_DIR}/pv-forward.c.in +- # originaly from Qt/Components +- ${ParaView_CMAKE_DIR}/pqObjectPanelImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqObjectPanelImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqDisplayPanelImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqDisplayPanelImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqViewOptionsImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqViewOptionsImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqActionGroupImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqActionGroupImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqViewFrameActionGroupImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqViewFrameActionGroupImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqDockWindowImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqDockWindowImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqDisplayPanelDecoratorImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqDisplayPanelDecoratorImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pq3DWidgetImplementation.h.in +- ${ParaView_CMAKE_DIR}/pq3DWidgetImplementation.cxx.in +- # originaly from Qt/Core +- ${ParaView_CMAKE_DIR}/pqViewModuleImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqViewModuleImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqAutoStartImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqAutoStartImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqGraphLayoutStrategyImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqGraphLayoutStrategyImplementation.cxx.in +- ${ParaView_CMAKE_DIR}/pqTreeLayoutStrategyImplementation.h.in +- ${ParaView_CMAKE_DIR}/pqTreeLayoutStrategyImplementation.cxx.in) ++ # install all cmake files. + INSTALL( +- FILES ${cmakeDevFiles} ++ # the extra "/" is essential to ensure we don't end up with an extra ++ # directory at the install location. ++ DIRECTORY "${ParaView_CMAKE_DIR}/" + DESTINATION ${PV_INSTALL_CMAKE_DIR} + COMPONENT Development) + +diff -x .git -ruN orig/CoProcessing/Adaptors/ParticleAdaptor/vtkParticlePipeline.cxx git_0f43430/CoProcessing/Adaptors/ParticleAdaptor/vtkParticlePipeline.cxx +--- orig/CoProcessing/Adaptors/ParticleAdaptor/vtkParticlePipeline.cxx 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/CoProcessing/Adaptors/ParticleAdaptor/vtkParticlePipeline.cxx 2012-04-20 23:43:06.000000000 -0400 +@@ -19,6 +19,7 @@ + #include "vtkMultiProcessController.h" + #include "vtkObjectFactory.h" + #include "vtkOpaquePass.h" ++#include "vtkOpenGLRenderer.h" + #include "vtkOutlineSource.h" + #include "vtkPNGWriter.h" + #include "vtkProperty.h" +@@ -175,7 +176,17 @@ + + VTK_CREATE (vtkCameraPass, cameraP); + cameraP->SetDelegatePass (iceTPass); +- renderer->SetPass (cameraP); ++ vtkOpenGLRenderer *glRenderer = ++ vtkOpenGLRenderer::SafeDownCast( this->renderer ); ++ if( glRenderer != NULL ) ++ { ++ glRenderer->SetPass(cameraP); ++ } ++ else ++ { ++ vtkErrorMacro("Cannot cast renderer to vtkOpenGLRenderer!"); ++ return; ++ } + + this->syncWin->SetRenderWindow (window); + this->syncWin->SetParallelController (ctrl); +diff -x .git -ruN orig/CoProcessing/CoProcessor/CMakeLists.txt git_0f43430/CoProcessing/CoProcessor/CMakeLists.txt +--- orig/CoProcessing/CoProcessor/CMakeLists.txt 2012-04-02 12:55:26.000000000 -0400 ++++ git_0f43430/CoProcessing/CoProcessor/CMakeLists.txt 2012-04-20 23:43:06.000000000 -0400 +@@ -67,6 +67,16 @@ + target_link_libraries(vtkCoProcessor ${CoProcessor_LIBS}) + + IF (PARAVIEW_ENABLE_PYTHON) ++ IF(NOT APPLE) ++ FIND_LIBRARY(PYTHON_UTIL_LIBRARY ++ NAMES util ++ DOC "Utility library needed for pvpython" ++ ) ++ MARK_AS_ADVANCED(PYTHON_UTIL_LIBRARY) ++ IF(PYTHON_UTIL_LIBRARY) ++ SET(PYTHON_UTIL_LIBRARY_LIB ${PYTHON_UTIL_LIBRARY}) ++ ENDIF(PYTHON_UTIL_LIBRARY) ++ ENDIF(NOT APPLE) + # Create Python bindings for the co-processing library + set(BUILD_SHARED_LIBS ON CACHE BOOL "Needed for python scripting.") + INCLUDE(FindPythonLibs) +@@ -88,7 +98,7 @@ + # want to link to the python libray to resolve its symbols + # immediately. + IF(WIN32 OR APPLE) +- TARGET_LINK_LIBRARIES (vtkCoProcessorPythonD ${PYTHON_LIBRARIES}) ++ TARGET_LINK_LIBRARIES (vtkCoProcessorPythonD ${VTK_PYTHON_LIBRARIES} ${PYTHON_UTIL_LIBRARY_LIB}) + ENDIF(WIN32 OR APPLE) + + # Create a python module that can be loaded dynamically. It links to +@@ -104,7 +114,7 @@ + ENDIF(WIN32 AND NOT CYGWIN) + + IF(WIN32 OR APPLE) +- TARGET_LINK_LIBRARIES (vtkCoProcessorPython ${PYTHON_LIBRARIES}) ++ TARGET_LINK_LIBRARIES (vtkCoProcessorPython ${VTK_PYTHON_LIBRARIES} ${PYTHON_UTIL_LIBRARY_LIB}) + ENDIF(WIN32 OR APPLE) + + SET(PYTHON_MODULE_PREFIX "") +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Cxx/CMakeLists.txt git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/CMakeLists.txt +--- orig/CoProcessing/CoProcessor/Testing/Cxx/CMakeLists.txt 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/CMakeLists.txt 2012-04-20 23:43:06.000000000 -0400 +@@ -10,15 +10,14 @@ + ADD_EXECUTABLE(CoProcessingPythonScriptExample PythonScriptCoProcessingExample.cxx vtkPVCustomTestDriver.cxx) + TARGET_LINK_LIBRARIES(CoProcessingPythonScriptExample vtkCoProcessor vtkCPTestDriver) + +- ADD_TEST(CoProcessingTestPythonScript ${EXECUTABLE_OUTPUT_PATH}/CoProcessingPythonScriptExample ${CoProcessing_SOURCE_DIR}/CoProcessor/Testing/Cxx/PythonScriptTest.py) +- ++ ADD_TEST(CoProcessingTestPythonScript ${EXECUTABLE_OUTPUT_PATH}/CoProcessingPythonScriptExample ${CoProcessing_SOURCE_DIR}/CoProcessor/Testing/Python/PythonScriptTest.py) + + IF (VTK_MPIRUN_EXE) +- ADD_TEST(PCoProcessingPythonScriptExample ++ ADD_TEST(PCoProcessingTestPythonScript + ${VTK_MPIRUN_EXE} ${VTK_MPI_PRENUMPROC_FLAGS} ${VTK_MPI_NUMPROC_FLAG} ${VTK_MPI_MAX_NUMPROCS} + ${VTK_MPI_PREFLAGS} + ${EXECUTABLE_OUTPUT_PATH}/CoProcessingPythonScriptExample +- ${CoProcessing_SOURCE_DIR}/CoProcessor/Testing/Cxx/PythonScriptTest2.py ++ ${CoProcessing_SOURCE_DIR}/CoProcessor/Testing/Python/PythonScriptTest2.py + ${VTK_MPI_POSTFLAGS} + ) + ENDIF (VTK_MPIRUN_EXE) +@@ -26,30 +25,126 @@ + + ENDIF (PARAVIEW_ENABLE_PYTHON) + +- # below is for doing image comparisons +- # they are not done directly in the above python script due to the fact +- # that they would make the python script rather ugly +-IF (PARAVIEW_DATA_ROOT) +- ADD_EXECUTABLE(CoProcessingCompareImagesTester CompareImages.cxx) +- TARGET_LINK_LIBRARIES(CoProcessingCompareImagesTester vtkCommon vtkIO vtkRendering) ++# below is for doing image comparisons ++# they are not done directly in the above python script due to the fact ++# that they would make the python script rather ugly ++ADD_EXECUTABLE(CoProcessingCompareImagesTester CompareImages.cxx) ++TARGET_LINK_LIBRARIES(CoProcessingCompareImagesTester vtkCommon vtkIO vtkRendering) + ++IF (PARAVIEW_DATA_ROOT) + IF (PARAVIEW_ENABLE_PYTHON) + ADD_TEST(CoProcessingPythonScriptGridPlot +- ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/CPGrid0.png 20 -V ${PARAVIEW_DATA_ROOT}/Baseline/CPGrid0.png -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx) ++ ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ++ ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/CPGrid0.png 20 -V ++ ${PARAVIEW_DATA_ROOT}/Baseline/CPGrid0.png ++ -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx ) + + ADD_TEST(CoProcessingPythonScriptPressurePlot +- ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/CPPressure0.png 20 -V ${PARAVIEW_DATA_ROOT}/Baseline/CPPressure0.png -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx) ++ ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ++ ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/CPPressure0.png 20 ++ -V ${PARAVIEW_DATA_ROOT}/Baseline/CPPressure0.png ++ -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx) + + SET_TESTS_PROPERTIES(CoProcessingTestPythonScript CoProcessingPythonScriptGridPlot + CoProcessingPythonScriptPressurePlot PROPERTIES RUN_SERIAL ON) + IF (VTK_MPIRUN_EXE) + ADD_TEST(PCoProcessingPythonScriptGridPlot +- ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/PCPGrid0.png 20 -V ${PARAVIEW_DATA_ROOT}/Baseline/CPGrid0.png -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx) ++ ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ++ ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/PCPGrid0.png 20 ++ -V ${PARAVIEW_DATA_ROOT}/Baseline/CPGrid0.png ++ -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx) + + ADD_TEST(PCoProcessingPythonScriptPressurePlot +- ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/PCPPressure0.png 20 -V ${PARAVIEW_DATA_ROOT}/Baseline/CPPressure0.png -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx) ++ ${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester ++ ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/PCPPressure0.png 20 ++ -V ${PARAVIEW_DATA_ROOT}/Baseline/CPPressure0.png ++ -T ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx) ++ SET_TESTS_PROPERTIES(PCoProcessingTestPythonScript PCoProcessingPythonScriptGridPlot ++ PCoProcessingPythonScriptPressurePlot PROPERTIES RUN_SERIAL ON) + ENDIF (VTK_MPIRUN_EXE) + ++ # here is the full workflow for coprocessing where we generate ++ # a script, run simulation driver code, and then check the output ++ IF (PARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator) ++ set(REAL_EXECUTABLE_PATH ${EXECUTABLE_OUTPUT_PATH}) ++ set(PARAVIEW_EXECUTABLE_PATH ${EXECUTABLE_OUTPUT_PATH}) ++ if(Q_WS_MAC) ++ set(REAL_EXECUTABLE_PATH ${EXECUTABLE_OUTPUT_PATH}/${PROJECT_NAME}.app/Contents/MacOS) ++ set(PARAVIEW_EXECUTABLE_PATH ${EXECUTABLE_OUTPUT_PATH}/paraview.app/Contents/MacOS) ++ set(MAC_TEST_NAME "-Mac") ++ endif(Q_WS_MAC) ++ ++ file(WRITE ++"${CoProcessing_BINARY_DIR}/CoProcessingFullWorkflowTest.cmake" ++"set(fullexe \"${PARAVIEW_EXECUTABLE_PATH}/paraview\") ++if(NOT EXISTS \${fullexe}) ++ set(fullexe \"${PARAVIEW_EXECUTABLE_PATH}/\${cfg}/paraview.exe\") ++endif() ++FILE(REMOVE \"${CMAKE_BINARY_DIR}/Testing/Temporary/cptest.py ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/image_0.png ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/filename_0.pvtp ${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/filename_0_0.vtp\" ) ++ ++set(ARGS \"-dr;--test-directory=${CMAKE_BINARY_DIR}/Testing/Temporary;--test-script=${CMAKE_SOURCE_DIR}/Plugins/CoProcessingScriptGenerator/Testing/CoProcessingGUI${MAC_TEST_NAME}.xml;--exit\") ++execute_process(COMMAND \${fullexe} \${ARGS} RESULT_VARIABLE rv) ++if(NOT rv EQUAL 0) ++ message(FATAL_ERROR \"ParaView return value was \${rv}\") ++endif() ++ ++set(fullexe \"${REAL_EXECUTABLE_PATH}/pvpython\") ++if(NOT EXISTS \${fullexe}) ++ set(fullexe \"${REAL_EXECUTABLE_PATH}/\${cfg}/pvpython.exe\") ++endif() ++if(NOT EXISTS \${fullexe}) ++ set(fullexe \"${EXECUTABLE_OUTPUT_PATH}/pvpython\") ++endif() ++if(NOT EXISTS \${fullexe}) ++ message(FATAL_ERROR \"'\${fullexe}' does not exist\") ++endif() ++ ++set(ARGS \"${CoProcessing_SOURCE_DIR}/CoProcessor/Testing/Python/waveletdriver.py;${CMAKE_BINARY_DIR}/Testing/Temporary/cptest.py;1\") ++execute_process(COMMAND \${fullexe} \${ARGS} RESULT_VARIABLE failed) ++if(failed) ++ message(FATAL_ERROR \"pvpython return value was = '\${failed}' \") ++endif() ++ ++set(fullexe \"${REAL_EXECUTABLE_PATH}/CoProcessingCompareImagesTester\") ++if(NOT EXISTS \${fullexe}) ++ set(fullexe \"${REAL_EXECUTABLE_PATH}/\${cfg}/CoProcessingCompareImagesTester.exe\") ++endif() ++if(NOT EXISTS \${fullexe}) ++ set(fullexe \"${EXECUTABLE_OUTPUT_PATH}/CoProcessingCompareImagesTester\") ++endif() ++if(NOT EXISTS \${fullexe}) ++ message(FATAL_ERROR \"'\${fullexe}' does not exist\") ++endif() ++ ++set(ARGS \"${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/image_0.png;20;-V;${PARAVIEW_DATA_ROOT}/Baseline/CPFullWorkflow.png;-T;${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx\") ++execute_process(COMMAND \${fullexe} \${ARGS} RESULT_VARIABLE failed) ++if(failed) ++ message(FATAL_ERROR \"CoProcessingCompareImageTester return value was = '\${failed}' \") ++endif() ++ ++set(fullexe \"${REAL_EXECUTABLE_PATH}/vtkpython\") ++if(NOT EXISTS \${fullexe}) ++ set(fullexe \"${REAL_EXECUTABLE_PATH}/\${cfg}/vtkpython.exe\") ++endif() ++if(NOT EXISTS \${fullexe}) ++ set(fullexe \"${EXECUTABLE_OUTPUT_PATH}/vtkpython\") ++endif() ++if(NOT EXISTS \${fullexe}) ++ message(FATAL_ERROR \"'\${fullexe}' does not exist\") ++endif() ++ ++set(ARGS \"${CoProcessing_SOURCE_DIR}/CoProcessor/Testing/Python/outputcheck.py;${CoProcessing_BINARY_DIR}/CoProcessor/Testing/Cxx/filename_0.pvtp\") ++execute_process(COMMAND \${fullexe} \${ARGS} RESULT_VARIABLE failed) ++if(failed) ++ message(FATAL_ERROR \"vtkpython return value was = '\${failed}' \") ++endif() ++" ) ++ ++ add_test(NAME CoProcessingFullWorkflow COMMAND ${CMAKE_COMMAND} ++ -Dcfg=$ -P "${CoProcessing_BINARY_DIR}/CoProcessingFullWorkflowTest.cmake") ++ SET_TESTS_PROPERTIES(CoProcessingFullWorkflow PROPERTIES RUN_SERIAL ON) ++ ENDIF (PARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator) ++ + ENDIF (PARAVIEW_ENABLE_PYTHON) + + ENDIF (PARAVIEW_DATA_ROOT) +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Cxx/CompareImages.cxx git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/CompareImages.cxx +--- orig/CoProcessing/CoProcessor/Testing/Cxx/CompareImages.cxx 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/CompareImages.cxx 2012-04-20 23:43:06.000000000 -0400 +@@ -63,7 +63,7 @@ + + double threshold = atof(argv[2]); + +- if(!testing->RegressionTest(vtkImageData::SafeDownCast(reader->GetOutput()), threshold)) ++ if(!testing->RegressionTest(reader, threshold)) + { + return 1; + } +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest.py git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest.py +--- orig/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest.py 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest.py 1969-12-31 19:00:00.000000000 -0500 +@@ -1,94 +0,0 @@ +-def DoCoProcessing(datadescription): +- timestep = datadescription.GetTimeStep() +- +- grid = datadescription.GetInputDescriptionByName("input").GetGrid() +- pressure = grid.GetPointData().GetArray('Pressure') +- +- grid.GetPointData().SetScalars(pressure) +- obj.SetOutput(grid) +- +- # get global range of Pressure +- di = trivialproducer.GetDataInformation(0) +- trivialproducer.UpdatePipeline() +- di.Update() +- pdi = di.GetPointDataInformation() +- ai = pdi.GetArrayInformation('Pressure') +- pressurerange = ai.GetComponentRange(0) +- +- contour.Isosurfaces = .5*(pressurerange[0]+pressurerange[1]) +- +- # now output the results to the screen as well as taking +- # a screen shot of the view +- #setup a window +- rep = Show(contour) +- ren = Render() +- +- #set the background color +- ren.Background=[1,1,1] #white +- +- #set image size +- ren.ViewSize = [200, 300] #[width, height] +- +- #set representation +- rep.Representation="Surface" +- +- #save screenshot +- gridimagefilename = 'CPGrid'+str(timestep) + '.png' +- WriteImage(gridimagefilename) +- +- rep = Show(trivialproducer) +- rep.LookupTable = MakeBlueToRedLT(pressurerange[0], pressurerange[1]) +- rep.ColorArrayName = 'Pressure' +- rep.ColorAttributeType = 'POINT_DATA' +- #set representation +- rep.Representation="Surface" +- rep = Show(contour) +- #set the background color +- ren = Render() +- ren.Background=[1,1,1] #white +- +- pressureimagefilename = 'CPPressure'+str(timestep) + '.png' +- WriteImage(pressureimagefilename) +- +- # explicitly delete the proxies -- may have to do this multiple times +- tobedeleted = GetNextProxyToDelete() +- while tobedeleted != None: +- Delete(tobedeleted) +- tobedeleted = GetNextProxyToDelete() +- +-def GetNextProxyToDelete(): +- iter = servermanager.vtkSMProxyIterator() +- iter.SetSession(servermanager.ActiveConnection.Session) +- iter.Begin() +- while not iter.IsAtEnd(): +- if iter.GetGroup().find("prototypes") != -1: +- iter.Next() +- continue +- proxy = servermanager._getPyProxy(iter.GetProxy()) +- proxygroup = iter.GetGroup() +- iter.Next() +- if proxygroup != 'timekeeper' and proxy != None and proxygroup.find("pq_helper_proxies") == -1 : +- return proxy +- +- return None +- +-def RequestDataDescription(datadescription): +- time = datadescription.GetTime() +- timestep = datadescription.GetTimeStep() +- if timestep % 20 == 0: +- # add in some fields +- #print 'added Pressure and wanting to do coprocessing' +- datadescription.GetInputDescriptionByName("input").AddPointField("Pressure") +- datadescription.GetInputDescriptionByName('input').GenerateMeshOn() +- return +- +-# the code below is needed to import objects from paraview.simple +-# plus the definition of vtkTrivialProducer into this python script. +-try: paraview.simple +-except: from paraview.simple import * +- +-trivialproducer = TrivialProducer() +-contour = Contour(Input=trivialproducer) +-obj = trivialproducer.GetClientSideObject() +- +- +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest2.py git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest2.py +--- orig/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest2.py 2012-04-02 12:56:24.000000000 -0400 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptTest2.py 1969-12-31 19:00:00.000000000 -0500 +@@ -1,92 +0,0 @@ +-def DoCoProcessing(datadescription): +- timestep = datadescription.GetTimeStep() +- +- grid = datadescription.GetInputDescriptionByName("input").GetGrid() +- pressure = grid.GetPointData().GetArray('Pressure') +- +- grid.GetPointData().SetScalars(pressure) +- obj.SetOutput(grid) +- +- # get global range of Pressure +- di = trivialproducer.GetDataInformation(0) +- trivialproducer.UpdatePipeline() +- di.Update() +- pdi = di.GetPointDataInformation() +- ai = pdi.GetArrayInformation('Pressure') +- pressurerange = ai.GetComponentRange(0) +- +- contour.Isosurfaces = .5*(pressurerange[0]+pressurerange[1]) +- +- # now output the results to the screen as well as taking +- # a screen shot of the view +- #setup a window +- rep = Show(contour) +- ren = Render() +- +- #set the background color +- ren.Background=[1,1,1] #white +- +- #set image size +- ren.ViewSize = [200, 300] #[width, height] +- +- #set representation +- rep.Representation="Surface" +- +- #save screenshot +- gridimagefilename = 'PCPGrid'+str(timestep) + '.png' +- WriteImage(gridimagefilename) +- +- rep = Show(trivialproducer) +- rep.LookupTable = MakeBlueToRedLT(pressurerange[0], pressurerange[1]) +- rep.ColorArrayName = 'Pressure' +- rep.ColorAttributeType = 'POINT_DATA' +- #set representation +- rep.Representation="Surface" +- rep = Show(contour) +- #set the background color +- ren = Render() +- ren.Background=[1,1,1] #white +- +- pressureimagefilename = 'PCPPressure'+str(timestep) + '.png' +- WriteImage(pressureimagefilename) +- +- # explicitly delete the proxies -- may have to do this multiple times +- tobedeleted = GetNextProxyToDelete() +- while tobedeleted != None: +- Delete(tobedeleted) +- tobedeleted = GetNextProxyToDelete() +- +-def GetNextProxyToDelete(): +- iter = servermanager.vtkSMProxyIterator() +- iter.SetSession(servermanager.ActiveConnection.Session) +- iter.Begin() +- while not iter.IsAtEnd(): +- if iter.GetGroup().find("prototypes") != -1: +- iter.Next() +- continue +- proxy = servermanager._getPyProxy(iter.GetProxy()) +- proxygroup = iter.GetGroup() +- iter.Next() +- if proxygroup != 'timekeeper' and proxy != None and proxygroup.find("pq_helper_proxies") == -1 : +- return proxy +- +- return None +- +-def RequestDataDescription(datadescription): +- time = datadescription.GetTime() +- timestep = datadescription.GetTimeStep() +- if timestep % 20 == 0: +- # add in some fields +- #print 'added Pressure and wanting to do coprocessing' +- datadescription.GetInputDescriptionByName("input").AddPointField("Pressure") +- datadescription.GetInputDescriptionByName('input').GenerateMeshOn() +- return +- +-# the code below is needed to import objects from paraview.simple +-# plus the definition of vtkTrivialProducer into this python script. +-try: paraview.simple +-except: from paraview.simple import * +- +-trivialproducer = TrivialProducer() +-contour = Contour(Input=trivialproducer) +-obj = trivialproducer.GetClientSideObject() +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest.py git_0f43430/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest.py +--- orig/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest.py 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest.py 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,92 @@ ++def DoCoProcessing(datadescription): ++ timestep = datadescription.GetTimeStep() ++ ++ grid = datadescription.GetInputDescriptionByName("input").GetGrid() ++ pressure = grid.GetPointData().GetArray('Pressure') ++ ++ grid.GetPointData().SetScalars(pressure) ++ obj.SetOutput(grid) ++ ++ # get global range of Pressure ++ di = trivialproducer.GetDataInformation(0) ++ trivialproducer.UpdatePipeline() ++ di.Update() ++ pdi = di.GetPointDataInformation() ++ ai = pdi.GetArrayInformation('Pressure') ++ pressurerange = ai.GetComponentRange(0) ++ ++ contour.Isosurfaces = .5*(pressurerange[0]+pressurerange[1]) ++ ++ # now output the results to the screen as well as taking ++ # a screen shot of the view ++ #setup a window ++ rep = Show(contour) ++ ren = Render() ++ ++ #set the background color ++ ren.Background=[1,1,1] #white ++ ++ #set image size ++ ren.ViewSize = [200, 300] #[width, height] ++ ++ #set representation ++ rep.Representation="Surface" ++ ++ #save screenshot ++ gridimagefilename = 'CPGrid'+str(timestep) + '.png' ++ WriteImage(gridimagefilename) ++ ++ rep = Show(trivialproducer) ++ rep.LookupTable = MakeBlueToRedLT(pressurerange[0], pressurerange[1]) ++ rep.ColorArrayName = 'Pressure' ++ rep.ColorAttributeType = 'POINT_DATA' ++ #set representation ++ rep.Representation="Surface" ++ rep = Show(contour) ++ #set the background color ++ ren = Render() ++ ren.Background=[1,1,1] #white ++ ++ pressureimagefilename = 'CPPressure'+str(timestep) + '.png' ++ WriteImage(pressureimagefilename) ++ ++ # explicitly delete the proxies -- may have to do this multiple times ++ tobedeleted = GetNextProxyToDelete() ++ while tobedeleted != None: ++ Delete(tobedeleted) ++ tobedeleted = GetNextProxyToDelete() ++ ++def GetNextProxyToDelete(): ++ iter = servermanager.vtkSMProxyIterator() ++ iter.SetSession(servermanager.ActiveConnection.Session) ++ iter.Begin() ++ while not iter.IsAtEnd(): ++ if iter.GetGroup().find("prototypes") != -1: ++ iter.Next() ++ continue ++ proxy = servermanager._getPyProxy(iter.GetProxy()) ++ proxygroup = iter.GetGroup() ++ iter.Next() ++ if proxygroup != 'timekeeper' and proxy != None and proxygroup.find("pq_helper_proxies") == -1 : ++ return proxy ++ ++ return None ++ ++def RequestDataDescription(datadescription): ++ time = datadescription.GetTime() ++ timestep = datadescription.GetTimeStep() ++ if timestep % 20 == 0: ++ # add in some fields ++ #print 'added Pressure and wanting to do coprocessing' ++ datadescription.GetInputDescriptionByName("input").AddPointField("Pressure") ++ datadescription.GetInputDescriptionByName('input').GenerateMeshOn() ++ return ++ ++# the code below is needed to import objects from paraview.simple ++# plus the definition of vtkTrivialProducer into this python script. ++try: paraview.simple ++except: from paraview.simple import * ++ ++trivialproducer = TrivialProducer() ++contour = Contour(Input=trivialproducer) ++obj = trivialproducer.GetClientSideObject() +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest2.py git_0f43430/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest2.py +--- orig/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest2.py 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Python/PythonScriptTest2.py 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,92 @@ ++def DoCoProcessing(datadescription): ++ timestep = datadescription.GetTimeStep() ++ ++ grid = datadescription.GetInputDescriptionByName("input").GetGrid() ++ pressure = grid.GetPointData().GetArray('Pressure') ++ ++ grid.GetPointData().SetScalars(pressure) ++ obj.SetOutput(grid) ++ ++ # get global range of Pressure ++ di = trivialproducer.GetDataInformation(0) ++ trivialproducer.UpdatePipeline() ++ di.Update() ++ pdi = di.GetPointDataInformation() ++ ai = pdi.GetArrayInformation('Pressure') ++ pressurerange = ai.GetComponentRange(0) ++ ++ contour.Isosurfaces = .5*(pressurerange[0]+pressurerange[1]) ++ ++ # now output the results to the screen as well as taking ++ # a screen shot of the view ++ #setup a window ++ rep = Show(contour) ++ ren = Render() ++ ++ #set the background color ++ ren.Background=[1,1,1] #white ++ ++ #set image size ++ ren.ViewSize = [200, 300] #[width, height] ++ ++ #set representation ++ rep.Representation="Surface" ++ ++ #save screenshot ++ gridimagefilename = 'PCPGrid'+str(timestep) + '.png' ++ WriteImage(gridimagefilename) ++ ++ rep = Show(trivialproducer) ++ rep.LookupTable = MakeBlueToRedLT(pressurerange[0], pressurerange[1]) ++ rep.ColorArrayName = 'Pressure' ++ rep.ColorAttributeType = 'POINT_DATA' ++ #set representation ++ rep.Representation="Surface" ++ rep = Show(contour) ++ #set the background color ++ ren = Render() ++ ren.Background=[1,1,1] #white ++ ++ pressureimagefilename = 'PCPPressure'+str(timestep) + '.png' ++ WriteImage(pressureimagefilename) ++ ++ # explicitly delete the proxies -- may have to do this multiple times ++ tobedeleted = GetNextProxyToDelete() ++ while tobedeleted != None: ++ Delete(tobedeleted) ++ tobedeleted = GetNextProxyToDelete() ++ ++def GetNextProxyToDelete(): ++ iter = servermanager.vtkSMProxyIterator() ++ iter.SetSession(servermanager.ActiveConnection.Session) ++ iter.Begin() ++ while not iter.IsAtEnd(): ++ if iter.GetGroup().find("prototypes") != -1: ++ iter.Next() ++ continue ++ proxy = servermanager._getPyProxy(iter.GetProxy()) ++ proxygroup = iter.GetGroup() ++ iter.Next() ++ if proxygroup != 'timekeeper' and proxy != None and proxygroup.find("pq_helper_proxies") == -1 : ++ return proxy ++ ++ return None ++ ++def RequestDataDescription(datadescription): ++ time = datadescription.GetTime() ++ timestep = datadescription.GetTimeStep() ++ if timestep % 20 == 0: ++ # add in some fields ++ #print 'added Pressure and wanting to do coprocessing' ++ datadescription.GetInputDescriptionByName("input").AddPointField("Pressure") ++ datadescription.GetInputDescriptionByName('input').GenerateMeshOn() ++ return ++ ++# the code below is needed to import objects from paraview.simple ++# plus the definition of vtkTrivialProducer into this python script. ++try: paraview.simple ++except: from paraview.simple import * ++ ++trivialproducer = TrivialProducer() ++contour = Contour(Input=trivialproducer) ++obj = trivialproducer.GetClientSideObject() +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Python/outputcheck.py git_0f43430/CoProcessing/CoProcessor/Testing/Python/outputcheck.py +--- orig/CoProcessing/CoProcessor/Testing/Python/outputcheck.py 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Python/outputcheck.py 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,18 @@ ++import sys ++if len(sys.argv) != 2: ++ print "command is 'python '" ++ sys.exit(1) ++ ++import vtk ++ ++r = vtk.vtkXMLPPolyDataReader() ++r.SetFileName(sys.argv[1]) ++r.Update() ++ ++g = r.GetOutput() ++ ++if g.GetNumberOfPoints() != 441 or g.GetNumberOfCells() != 800: ++ print 'Output grid is incorrect. The number of points is', g.GetNumberOfPoints(), \ ++ 'but should be 441 and the number of cells is', g.GetNumberOfCells(), \ ++ 'but should be 800.' ++ sys.exit(1) +diff -x .git -ruN orig/CoProcessing/CoProcessor/Testing/Python/waveletdriver.py git_0f43430/CoProcessing/CoProcessor/Testing/Python/waveletdriver.py +--- orig/CoProcessing/CoProcessor/Testing/Python/waveletdriver.py 1969-12-31 19:00:00.000000000 -0500 ++++ git_0f43430/CoProcessing/CoProcessor/Testing/Python/waveletdriver.py 2012-04-20 23:43:06.000000000 -0400 +@@ -0,0 +1,71 @@ ++import sys ++if len(sys.argv) != 3: ++ print "command is 'python