# # When this file is sourced, a server process is automatically # started that can be used for for testing purposes. If the # server is already running (i.e., some other test sources this file) # then no new server is started. # # The following global variables are defined as a side effect of # sourcing this file: # # hostname -- the name of the host on which the server is running # S_PORT -- the port of the server # # Check to see if we haven't sourced already # if {![info exists S_PORT]} { # # Determine a port number # set S_PORT 8259 set hostname localhost # # Setup: Start a server as another process, and use it to connect. # set cmd [info nameofexecutable] puts stdout "Executing \"$cmd server $win $S_PORT\"" set serv_pid [exec $cmd server $win $S_PORT &] # # This loop keeps trying to connect until it succeeds. # Important since the exec may take a while on some machines... # after 2000 set itry 0 while {[catch "dp_MakeRPCClient $hostname $S_PORT" rhost]} { puts stdout "Trying to connect to server..." incr itry if { $itry > 5 } { puts stdout "Unable to connect to server" break } after 2000 } catch {close $rhost} }