blob: ab548a108dacdfbf57dfad03cca6b03e6c0998e7 [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"
Cosmos Nicolaouae8dd212014-12-13 23:43:08 -08004set ws=--veyron.tcp.protocol=ws
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -07005
6root -- $localaddr
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -07007eval $_
8set root=$MT_NAME
9
10set NAMESPACE_ROOT=$root
Cosmos Nicolaouae8dd212014-12-13 23:43:08 -080011mt -- $localaddr $ws $localaddr usa
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070012eval $_
13set usa_mt=$MT_NAME
Cosmos Nicolaouae8dd212014-12-13 23:43:08 -080014mt -- $localaddr $ws $localaddr uk
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070015eval $_
16set uk_mt=$MT_NAME
17
18ls $root/...
19set l=$_
20eval $l
21assert $RN 3
22wait $l
23
24set NAMESPACE_ROOT=$usa_mt
Cosmos Nicolaouae8dd212014-12-13 23:43:08 -080025mt -- $localaddr $ws $localaddr "palo alto"
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070026eval $_
27set pa_mt=$MT_NAME
28
29set NAMESPACE_ROOT=$uk_mt
Cosmos Nicolaouae8dd212014-12-13 23:43:08 -080030mt -- $localaddr $ws $localaddr "cambridge"
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070031eval $_
32set cam_mt=$MT_NAME
33
34ls $root/...
35set l=$_
36eval $l
David Why Use Two When One Will Do Presottocce8f4f2014-09-30 14:50:44 -070037assert $RN 7
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070038wait $l
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070039
Matt Rosencrantzc13446b2014-12-03 10:37:00 -080040ls -- -l $root/...
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070041wait $_
42
43resolve $root/usa
44set r=$_
45eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080046# We get two endpoints back, in arbitrary order
47# one of which is 'ws', the other 'tcp'
48assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070049eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080050set ep1=$R0
51eval $r
52set ep2=$R1
53assertOneOf $usa_mt $ep1 $ep2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070054wait $r
55
56resolve "$root/usa/palo alto"
57set r=$_
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080058assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070059eval $r
60# this resolves to the mount table hosting palo alto, not the mount table
61# that would host any objects mounted on .../palo alto/...
62# but the uk/cambridge example below seems to behave the opposite way?
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080063eval $r
64set ep1=$R0
65eval $r
66set ep2=$R1
67assertOneOf $pa_mt $ep1 $ep2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070068wait $r
69
70resolve $root/uk
71set r=$_
72eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080073assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070074eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080075set ep1=$R0
76eval $r
77set ep2=$R1
78assertOneOf $uk_mt $ep1 $ep2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070079wait $r
80
81resolve "$root/uk/cambridge"
82set r=$_
83eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080084assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070085eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080086set ep1=$R0
87eval $r
88set ep2=$R1
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070089# this behaves differently to the usa/palo alto case?
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080090assertOneOf $cam_mt $ep1 $ep2
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070091wait $r