# Simple script to test for interop between the current checked in
# code here and the running public mount table.

# TODO(cnicolaou): reenable this when our prod services are more reliable.
quit

set localaddr=--veyron.tcp.address=127.0.0.1:0

# now use the global nameserver.

set global_name=global/echo
echoServer -- $localaddr "text2" $global_name
set es=$_
read $es
eval $es
set es_name=$NAME
eval $es
set es_addr=$ADDR

echoClient "$global_name" "test 2"
set ec=$_
read $ec line
assert $line "text2: test 2"

# resolve will return the server's address
resolve $global_name
set r=$_
eval $r
assert $RN 2
eval $r
set ep1=$R0
eval $r
set ep2=$R1
assertOneOf $es_name $ep1 $ep2

stop $es
