blob: ec514f36bdd2ce6e9bf9a5791ebe7112ee46722e [file] [log] [blame]
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -07001
2cache off
3
4set localaddr=--veyron.tcp.address=127.0.0.1:0
5
6root -- $localaddr
7eval $_
8set root=$MT_NAME
9set NAMESPACE_ROOT=$root
10setRoots $NAMESPACE_ROOT
11
12# run a non-proxied echo server
13echoServer -- $localaddr noproxy echo/noproxy
14set esnp=$_
15eval $esnp
16set NP_ECHOS_NAME=$NAME
17eval $esnp
18set NP_ECHOS_ADDR=$ADDR
19
20
21# run a proxy server
22proxyd -- $localaddr p1
23set proxy=$_
24# PROXY_ADDR=<address of proxy>
25eval $proxy
26# PROXY_NAME=<name of proxy>
27eval $proxy
28read $proxy
29splitEP $PROXY_ADDR
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080030assert $PN 7
31set PROXY_ADDR=$P2
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070032set PROXY_RID=$P3
33
34
35# TODO(cnicolaou): figure out why ls appears to run slowly when a proxy is
36# running, maybe a problem with the mount table.
37#ls ...
38#set l=$_
39#eval $l
40#assert $RN 3
41#wait $l
42
43echoServer -- $localaddr --veyron.proxy=p1 withproxy echo/withproxy
44set eswp=$_
45eval $eswp
46set ECHOS_NAME=$NAME
47eval $eswp
48set ECHOS_ADDR=$ADDR
49splitEP $ADDR
50set ECHOS_RID=$P3
51
52#ls ...
53#set l=$_
54#eval $l
55#assert $RN 4
56#wait $l
57
58print "root mt:" $NAMESPACE_ROOT
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080059print "proxy:" $PROXY_ADDR
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070060print "no proxy: " $NP_ECHOS_ADDR
61print "with proxy: " $ECHOS_ADDR
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080062# The ipc.Server implementation publishes the proxy supplied address and
63# the local address in the mount table
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070064resolve echo/withproxy
65set rs=$_
66eval $rs
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080067assert $RN 4
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070068eval $rs
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080069set ep1=$R0
70eval $rs
71set ep2=$R1
72eval $rs
73set ep3=$R2
74eval $rs
75set ep4=$R3
76
77splitEP $ep1
78assert $PN 7
79set ep1_addr=$P2
80set rid=$P3
81splitEP $ep2
82set ep2_addr=$P2
83splitEP $ep3
84set ep3_addr=$P2
85splitEP $ep4
86set ep4_addr=$P2
87
88assertOneOf $PROXY_ADDR $ep1_addr $ep2_addr $ep3_addr $ep4_addr
89assert $rid $ECHOS_RID
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070090
Matt Rosencrantzc13446b2014-12-03 10:37:00 -080091ls -- -l echo/withproxy
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070092wait $_
Matt Rosencrantzc13446b2014-12-03 10:37:00 -080093ls -- -l echo/noproxy
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070094wait $_
95
96echoClient echo/withproxy "ohh"
97set ec=$_
98read $ec l
99assert $l "withproxy: ohh"
100
101stop $eswp
102stop $esnp
103stop $proxy
104