Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

130 lines
3.1 KiB

# setup some common things for testing
vtkObject rtTempObject;
rtTempObject GlobalWarningDisplayOff;
vtkMath rtExMath
rtExMath RandomSeed 6
# create the testing class to do the work
vtkTesting rtTester
for {set i 1} {$i < [expr $argc - 1]} {incr i} {
rtTester AddArgument "[lindex $argv $i]"
}
set VTK_DATA_ROOT [rtTester GetDataRoot]
for {set i 1} {$i < [expr $argc - 1]} {incr i} {
if {[lindex $argv $i] == "-A"} {
foreach dir [split [lindex $argv [expr $i +1]] ":"] {
lappend auto_path $dir
}
}
}
vtkMPIController mpc
set gc [mpc GetGlobalController]
mpc Delete
vtkCompositeRenderManager compManager
if { $gc != "" } {
set myProcId [$gc GetLocalProcessId]
set numProcs [$gc GetNumberOfProcesses]
compManager SetController $gc
} else {
set myProcId 0
set numProcs 1
}
proc ExitMaster { code } {
global numProcs
for { set i 1 } { $i < $numProcs } { incr i } {
# Send break to all the nodes
#puts "Send break to: $i"
catch [ [ compManager GetController ] TriggerRMI $i 239954 ]
}
vtkCommand DeleteAllObjects
catch {destroy .top}
catch {destroy .geo}
exit $code
}
# load in the script
set file [lindex $argv 0]
if { $myProcId != 0 } {
#puts "Start reading script on satellite node"
source $file
compManager InitializeRMIs
#puts "Process RMIs"
[ compManager GetController ] ProcessRMIs
#puts "**********************************"
#puts "Done on the slave node"
#puts "**********************************"
vtkCommand DeleteAllObjects
catch {destroy .top}
catch {destroy .geo}
exit 0
}
# set the default threshold, the Tcl script may change this
set threshold -1
if {[info commands wm] != ""} {
wm withdraw .
} else {
# There is no Tk. Help the tests run without it.
proc wm args {
puts "wm not implemented"
}
# The vtkinteraction package requires Tk but since Tk is not
# available it will never be used anyway. Just pretend it is
# already loaded so that tests that load it will not try to load Tk.
package provide vtkinteraction 5.0
}
# Run the test.
source $file
if {[info commands iren] == "iren"} {renWin Render}
# run the event loop quickly to map any tkwidget windows
update
# current directory
if {[rtTester IsValidImageSpecified] != 0} {
# look for a renderWindow ImageWindow or ImageViewer
# first check for some common names
if {[info commands renWin] == "renWin"} {
rtTester SetRenderWindow renWin
if {$threshold == -1} {
set threshold 10
}
} else {
if {$threshold == -1} {
set threshold 5
}
if {[info commands viewer] == "viewer"} {
rtTester SetRenderWindow [viewer GetRenderWindow]
viewer Render
} else {
if {[info commands imgWin] == "imgWin"} {
rtTester SetRenderWindow imgWin
imgWin Render
} else {
if {[info exists viewer]} {
rtTester SetRenderWindow [$viewer GetRenderWindow]
}
}
}
}
set rtResult [rtTester RegressionTest $threshold]
}
if {$rtResult == 0} {ExitMaster 1}
ExitMaster 0