blob: 8c4d9c082d2898e34f94d5f0a4251ccf410b2bca [file] [log] [blame]
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -07001# Simple example showing multiple mount tables, servers and globing
2
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -07003set localaddr="--veyron.tcp.address=127.0.0.1:0"
4
5root -- $localaddr
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -07006eval $_
7set root=$MT_NAME
8
9set NAMESPACE_ROOT=$root
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070010mt -- $localaddr usa
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070011eval $_
12set usa_mt=$MT_NAME
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070013mt -- $localaddr uk
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070014eval $_
15set uk_mt=$MT_NAME
16
17ls $root/...
18set l=$_
19eval $l
20assert $RN 3
21wait $l
22
23set NAMESPACE_ROOT=$usa_mt
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070024mt -- $localaddr "palo alto"
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070025eval $_
26set pa_mt=$MT_NAME
27
28set NAMESPACE_ROOT=$uk_mt
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070029mt -- $localaddr "cambridge"
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070030eval $_
31set cam_mt=$MT_NAME
32
33ls $root/...
34set l=$_
35eval $l
David Why Use Two When One Will Do Presottocce8f4f2014-09-30 14:50:44 -070036assert $RN 7
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070037wait $l
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070038
Matt Rosencrantzc13446b2014-12-03 10:37:00 -080039ls -- -l $root/...
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070040wait $_
41
42resolve $root/usa
43set r=$_
44eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080045# We get two endpoints back, in arbitrary order
46# one of which is 'ws', the other 'tcp'
47assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070048eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080049set ep1=$R0
50eval $r
51set ep2=$R1
52assertOneOf $usa_mt $ep1 $ep2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070053wait $r
54
55resolve "$root/usa/palo alto"
56set r=$_
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080057assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070058eval $r
59# this resolves to the mount table hosting palo alto, not the mount table
60# that would host any objects mounted on .../palo alto/...
61# but the uk/cambridge example below seems to behave the opposite way?
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080062eval $r
63set ep1=$R0
64eval $r
65set ep2=$R1
66assertOneOf $pa_mt $ep1 $ep2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070067wait $r
68
69resolve $root/uk
70set r=$_
71eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080072assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070073eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080074set ep1=$R0
75eval $r
76set ep2=$R1
77assertOneOf $uk_mt $ep1 $ep2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070078wait $r
79
80resolve "$root/uk/cambridge"
81set r=$_
82eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080083assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070084eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080085set ep1=$R0
86eval $r
87set ep2=$R1
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070088# this behaves differently to the usa/palo alto case?
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080089assertOneOf $cam_mt $ep1 $ep2
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070090wait $r