Merge "veyron/runtimes/google/naming: Bugfix in error propagation and test setup."
diff --git a/runtimes/google/naming/namespace/all_test.go b/runtimes/google/naming/namespace/all_test.go
index 8d37312..ad6a9b0 100644
--- a/runtimes/google/naming/namespace/all_test.go
+++ b/runtimes/google/naming/namespace/all_test.go
@@ -112,10 +112,14 @@
return nil
}
+type allowEveryoneAuthorizer struct{}
+
+func (allowEveryoneAuthorizer) Authorize(security.Context) error { return nil }
+
type dispatcher struct{}
func (d *dispatcher) Lookup(suffix, method string) (ipc.Invoker, security.Authorizer, error) {
- return ipc.ReflectInvoker(&testServer{suffix}), nil, nil
+ return ipc.ReflectInvoker(&testServer{suffix}), allowEveryoneAuthorizer{}, nil
}
func knockKnock(t *testing.T, runtime veyron2.Runtime, name string) {
diff --git a/runtimes/google/naming/namespace/glob.go b/runtimes/google/naming/namespace/glob.go
index 4b3d296..0992eaa 100644
--- a/runtimes/google/naming/namespace/glob.go
+++ b/runtimes/google/naming/namespace/glob.go
@@ -60,7 +60,7 @@
var e mountEntry
err := call.Recv(&e)
if err == io.EOF {
- return nil
+ break
}
if err != nil {
return err
@@ -88,10 +88,11 @@
l.PushBack(x)
}
- if err := call.Finish(); err != nil {
+ var globerr error
+ if err := call.Finish(&globerr); err != nil {
return err
}
- return nil
+ return globerr
}
return lastErr