Merge "veyron/services/mgmt/node/impl: node manager to pass NAMESPACE_ROOT to apps"
diff --git a/runtimes/google/rt/signal_test.go b/runtimes/google/rt/signal_test.go
index 2d819a9..e235e0b 100644
--- a/runtimes/google/rt/signal_test.go
+++ b/runtimes/google/rt/signal_test.go
@@ -62,7 +62,11 @@
// Make sure that we use "google" runtime implementation in this
// package even though we have to use the public API which supports
// arbitrary runtime implementations.
- rt.Init(options.Profile{&myprofile{}})
+ r, err := rt.New(options.Profile{&myprofile{}})
+ if err != nil {
+ return err
+ }
+ defer r.Cleanup()
simpleEchoProgram(stdin, stdout)
return nil
}
diff --git a/runtimes/google/vtrace/vtrace_test.go b/runtimes/google/vtrace/vtrace_test.go
index c359323..250f4c9 100644
--- a/runtimes/google/vtrace/vtrace_test.go
+++ b/runtimes/google/vtrace/vtrace_test.go
@@ -1,6 +1,7 @@
package vtrace_test
import (
+ "bytes"
"strings"
"testing"
@@ -134,6 +135,12 @@
return summary
}
+func traceString(trace *vtrace.TraceRecord) string {
+ var b bytes.Buffer
+ vtrace.FormatTrace(&b, trace, nil)
+ return b.String()
+}
+
func expectSequence(t *testing.T, trace vtrace.TraceRecord, expectedSpans []string) {
// It's okay to have additional spans - someone may have inserted
// additional spans for more debugging.
@@ -148,13 +155,22 @@
// All spans should have a start.
if span.Start == 0 {
- t.Errorf("span missing start: %#v", span)
+ t.Errorf("span missing start: %x, %s", span.ID[12:], traceString(&trace))
}
- // All spans except the root should have an end.
- if span.Name != "" && span.End == 0 {
- t.Errorf("span missing end: %#v", span)
- if span.Start >= span.End {
- t.Errorf("span end should be after start: %#v", span)
+ // All spans except the root should have a valid end.
+ // TODO(mattr): For now I'm also skipping connectFlow and
+ // vc.HandshakeDialedVC spans because the ws endpoints are
+ // currently non-deterministic in terms of whether they fail
+ // before the test ends or not. In the future it will be
+ // configurable whether we listen on ws or not and then we should
+ // adjust the test to not listen and remove this check.
+ if span.Name != "" &&
+ span.Name != "<client>connectFlow" &&
+ span.Name != "vc.HandshakeDialedVC" {
+ if span.End == 0 {
+ t.Errorf("span missing end: %x, %s", span.ID[12:], traceString(&trace))
+ } else if span.Start >= span.End {
+ t.Errorf("span end should be after start: %x, %s", span.ID[12:], traceString(&trace))
}
}
diff --git a/security/agent/agentd/main.go b/security/agent/agentd/main.go
index 3ca5ee0..5871e7f 100644
--- a/security/agent/agentd/main.go
+++ b/security/agent/agentd/main.go
@@ -58,7 +58,12 @@
vlog.Fatalf("failed to create new principal from dir(%s): %v", dir, err)
}
- runtime := rt.Init(options.RuntimePrincipal{p})
+ runtime, err := rt.New(options.RuntimePrincipal{p})
+ if err != nil {
+ panic("Could not initialize runtime: " + err.Error())
+ }
+ defer runtime.Cleanup()
+
log := runtime.Logger()
if err = os.Setenv(agent.FdVarName, "3"); err != nil {
diff --git a/services/mgmt/build/buildd/testdata/integration_test.go b/services/mgmt/build/buildd/testdata/integration_test.go
index 8902104..630a22f 100644
--- a/services/mgmt/build/buildd/testdata/integration_test.go
+++ b/services/mgmt/build/buildd/testdata/integration_test.go
@@ -14,13 +14,8 @@
"veyron.io/veyron/veyron/lib/testutil/integration"
"veyron.io/veyron/veyron/lib/testutil/security"
_ "veyron.io/veyron/veyron/profiles"
- "veyron.io/veyron/veyron2/rt"
)
-func init() {
- rt.Init()
-}
-
var binPkgs = []string{
"veyron.io/veyron/veyron/services/mgmt/build/buildd",
"veyron.io/veyron/veyron/tools/build",
diff --git a/services/mgmt/node/impl/node_service.go b/services/mgmt/node/impl/node_service.go
index ebb604f..380a3f0 100644
--- a/services/mgmt/node/impl/node_service.go
+++ b/services/mgmt/node/impl/node_service.go
@@ -292,7 +292,7 @@
//
// TODO(caprita/rthellend): expose and use shellEscape (from
// veyron/tools/debug/impl.go) instead.
- output += fmt.Sprintf("%q", filepath.Join(workspace, "noded")) + " "
+ output += fmt.Sprintf("exec %q", filepath.Join(workspace, "noded")) + " "
output += strings.Join(envelope.Args, " ")
output += "\n"
path = filepath.Join(workspace, "noded.sh")