mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
ParaView-5.0.1: Added the source-tree to ThirdParty-dev and patched as described in the README file
Resolves bug-report http://bugs.openfoam.org/view.php?id=2098
This commit is contained in:
@ -0,0 +1,152 @@
|
||||
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"
|
||||
|
||||
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.Connections) != 1):
|
||||
errors += 1
|
||||
print "Error pvpython should be connected to a built-in session. Currently connected to ", servermanager.Connections
|
||||
|
||||
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.Connections) != 2):
|
||||
errors += 1
|
||||
print "Error pvpython should be connected to a built-in session + one remote one. Currently connected to ", servermanager.Connections
|
||||
|
||||
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.Connections) != 3):
|
||||
errors += 1
|
||||
print "Error pvpython should be connected to a built-in session + two remote one. Currently connected to ", servermanager.Connections
|
||||
|
||||
print "Available connections: ", servermanager.Connections
|
||||
|
||||
# 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 SetActiveConnection is working as expected
|
||||
SetActiveConnection(server1_connection, globals())
|
||||
if ( servermanager.ActiveConnection != server1_connection):
|
||||
errors += 1
|
||||
print "Error Invalid active connection. Expected ", server1_connection, " and got ", servermanager.ActiveConnection
|
||||
|
||||
# Test that SetActiveConnection is working as expected
|
||||
SetActiveConnection(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 SetActiveConnection is working as expected
|
||||
SetActiveConnection(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
|
||||
SetActiveConnection(server2_connection, globals())
|
||||
LoadDistributedPlugin("PacMan", True, globals())
|
||||
|
||||
# Create PacMan on server2
|
||||
pacMan_s2 = PacMan()
|
||||
|
||||
# Swtich to server1 and Create PacMan ==> This should fail
|
||||
SetActiveConnection(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
|
||||
SetActiveConnection(server2_connection, globals())
|
||||
SetActiveConnection(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
|
||||
SetActiveConnection(server2_connection, globals())
|
||||
SetActiveConnection(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
|
||||
SetActiveConnection(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
|
||||
SetActiveConnection(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.Connections
|
||||
Disconnect()
|
||||
print "Available connections after disconnect: ", servermanager.Connections
|
||||
Disconnect()
|
||||
print "Available connections after disconnect: ", servermanager.Connections
|
||||
|
||||
if errors > 0:
|
||||
raise RuntimeError, "An error occured during the execution"
|
||||
Reference in New Issue
Block a user