Merge "veyron/lib/testutil: fixing a bug in blackbox"
diff --git a/examples/unresolve/unresolve_test.go b/examples/unresolve/unresolve_test.go
index 200861c..edf2e7e 100644
--- a/examples/unresolve/unresolve_test.go
+++ b/examples/unresolve/unresolve_test.go
@@ -6,8 +6,9 @@
"reflect"
"testing"
- "veyron/lib/testutil"
+ _ "veyron/lib/testutil"
"veyron/lib/testutil/blackbox"
+ "veyron/lib/testutil/security"
"veyron2"
"veyron2/naming"
@@ -118,7 +119,7 @@
b := blackbox.HelperCommand(t, "childMT", "b")
defer shutdown(b)
- idFile := testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(idA, "test"))
+ idFile := security.SaveIdentityToFile(security.NewBlessedIdentity(idA, "test"))
defer os.Remove(idFile)
b.Cmd.Env = append(b.Cmd.Env, fmt.Sprintf("VEYRON_IDENTITY=%v", idFile), fmt.Sprintf("NAMESPACE_ROOT=%v", aOA))
b.Cmd.Start()
@@ -141,7 +142,7 @@
// Create server C.
c := blackbox.HelperCommand(t, "childFortune", "c")
defer shutdown(c)
- idFile = testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(idA, "test"))
+ idFile = security.SaveIdentityToFile(security.NewBlessedIdentity(idA, "test"))
defer os.Remove(idFile)
c.Cmd.Env = append(c.Cmd.Env, fmt.Sprintf("VEYRON_IDENTITY=%v", idFile), fmt.Sprintf("NAMESPACE_ROOT=%v", bOA))
c.Cmd.Start()
@@ -152,7 +153,7 @@
// Create server D.
d := blackbox.HelperCommand(t, "childFortuneCustomUnresolve", "d")
defer shutdown(d)
- idFile = testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(idA, "test"))
+ idFile = security.SaveIdentityToFile(security.NewBlessedIdentity(idA, "test"))
defer os.Remove(idFile)
d.Cmd.Env = append(d.Cmd.Env, fmt.Sprintf("VEYRON_IDENTITY=%v", idFile), fmt.Sprintf("NAMESPACE_ROOT=%v", bOA))
d.Cmd.Start()
@@ -163,7 +164,7 @@
// Create server E.
e := blackbox.HelperCommand(t, "childFortune", "e1", "e2")
defer shutdown(e)
- idFile = testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(idA, "test"))
+ idFile = security.SaveIdentityToFile(security.NewBlessedIdentity(idA, "test"))
defer os.Remove(idFile)
e.Cmd.Env = append(e.Cmd.Env, fmt.Sprintf("VEYRON_IDENTITY=%v", idFile), fmt.Sprintf("NAMESPACE_ROOT=%v", bOA))
e.Cmd.Start()
@@ -174,7 +175,7 @@
// Create server F.
f := blackbox.HelperCommand(t, "childFortune", "f")
defer shutdown(f)
- idFile = testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(idA, "test"))
+ idFile = security.SaveIdentityToFile(security.NewBlessedIdentity(idA, "test"))
defer os.Remove(idFile)
f.Cmd.Env = append(f.Cmd.Env, fmt.Sprintf("VEYRON_IDENTITY=%v", idFile), fmt.Sprintf("NAMESPACE_ROOT=%v", naming.Join(aOA, "b/mt")))
f.Cmd.Start()
@@ -185,7 +186,7 @@
// Create server G.
g := blackbox.HelperCommand(t, "childFortuneNoIDL", "g")
defer shutdown(g)
- idFile = testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(idA, "test"))
+ idFile = security.SaveIdentityToFile(security.NewBlessedIdentity(idA, "test"))
defer os.Remove(idFile)
g.Cmd.Env = append(g.Cmd.Env, fmt.Sprintf("VEYRON_IDENTITY=%v", idFile), fmt.Sprintf("NAMESPACE_ROOT=%v", bOA))
g.Cmd.Start()
@@ -196,7 +197,7 @@
// Check that things resolve correctly.
// Create a client runtime with oOA as its root.
- idFile = testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(idA, "test"))
+ idFile = security.SaveIdentityToFile(security.NewBlessedIdentity(idA, "test"))
defer os.Remove(idFile)
os.Setenv("VEYRON_IDENTITY", idFile)
diff --git a/lib/signals/signals_test.go b/lib/signals/signals_test.go
index 31911f2..08d54ea 100644
--- a/lib/signals/signals_test.go
+++ b/lib/signals/signals_test.go
@@ -14,8 +14,9 @@
"veyron2/rt"
"veyron2/services/mgmt/appcycle"
- "veyron/lib/testutil"
+ _ "veyron/lib/testutil"
"veyron/lib/testutil/blackbox"
+ "veyron/lib/testutil/security"
vflag "veyron/security/flag"
"veyron/services/mgmt/node"
)
@@ -309,7 +310,7 @@
// that default authorization works for RPCs between the two).
// TODO(caprita): Consider making this boilerplate part of blackbox.
id := r.Identity()
- idFile := testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(id, "test"))
+ idFile := security.SaveIdentityToFile(security.NewBlessedIdentity(id, "test"))
defer os.Remove(idFile)
configServer, configServiceName, ch := createConfigServer(t)
defer configServer.Stop()
diff --git a/lib/testutil/init.go b/lib/testutil/init.go
index 3b130d7..8ba55c7 100644
--- a/lib/testutil/init.go
+++ b/lib/testutil/init.go
@@ -38,6 +38,10 @@
// if GOMAXPROCS is not set in the environment.
runtime.GOMAXPROCS(runtime.NumCPU())
}
+ // At this point all of the flags that we're going to use for
+ // tests must be defined.
+ flag.Parse()
+ vlog.ConfigureLibraryLoggerFromFlags()
// Initialize pseudo-random number generator.
seed := time.Now().UnixNano()
seedString := os.Getenv(SeedEnv)
@@ -51,8 +55,4 @@
}
vlog.Infof("Seeding pseudo-random number generator with %v", seed)
Rand = rand.New(rand.NewSource(seed))
- // At this point all of the flags that we're going to use for
- // tests must be defined.
- flag.Parse()
- vlog.ConfigureLibraryLoggerFromFlags()
}
diff --git a/lib/testutil/security/util.go b/lib/testutil/security/util.go
new file mode 100644
index 0000000..1d8e207
--- /dev/null
+++ b/lib/testutil/security/util.go
@@ -0,0 +1,70 @@
+package security
+
+import (
+ "io/ioutil"
+ "os"
+ "strconv"
+ "time"
+
+ "veyron/lib/testutil"
+ isecurity "veyron/runtimes/google/security"
+
+ "veyron2/security"
+)
+
+// NewBlessedIdentity creates a new identity and blesses it using the provided blesser
+// under the provided name. This function is meant to be used for testing purposes only,
+// it panics if there is an error.
+func NewBlessedIdentity(blesser security.PrivateID, name string) security.PrivateID {
+ id, err := isecurity.NewPrivateID("test")
+ if err != nil {
+ panic(err)
+ }
+
+ blessedID, err := blesser.Bless(id.PublicID(), name, 5*time.Minute, nil)
+ if err != nil {
+ panic(err)
+ }
+ derivedID, err := id.Derive(blessedID)
+ if err != nil {
+ panic(err)
+ }
+ return derivedID
+}
+
+// SaveACLToFile saves the provided ACL in JSON format to a randomly created
+// temporary file, and returns the path to the file. This function is meant
+// to be used for testing purposes only, it panics if there is an error. The
+// caller must ensure that the created file is removed once it is no longer needed.
+func SaveACLToFile(acl security.ACL) string {
+ f, err := ioutil.TempFile("", "saved_acl")
+ if err != nil {
+ panic(err)
+ }
+ defer f.Close()
+ if err := security.SaveACL(f, acl); err != nil {
+ defer os.Remove(f.Name())
+ panic(err)
+ }
+ return f.Name()
+}
+
+// SaveIdentityToFile saves the provided identity in Base64VOM format
+// to a randomly created temporary file, and returns the path to the file.
+// This function is meant to be used for testing purposes only, it panics
+// if there is an error. The caller must ensure that the created file
+// is removed once it is no longer needed.
+func SaveIdentityToFile(id security.PrivateID) string {
+ f, err := ioutil.TempFile("", strconv.Itoa(testutil.Rand.Int()))
+ if err != nil {
+ panic(err)
+ }
+ defer f.Close()
+ filePath := f.Name()
+
+ if err := security.SaveIdentity(f, id); err != nil {
+ os.Remove(filePath)
+ panic(err)
+ }
+ return filePath
+}
diff --git a/lib/testutil/security/util_test.go b/lib/testutil/security/util_test.go
new file mode 100644
index 0000000..5632aef
--- /dev/null
+++ b/lib/testutil/security/util_test.go
@@ -0,0 +1,100 @@
+package security
+
+import (
+ "fmt"
+ "os"
+ "reflect"
+ "testing"
+
+ isecurity "veyron/runtimes/google/security"
+
+ "veyron2/rt"
+ "veyron2/security"
+)
+
+func TestNewBlessedIdentity(t *testing.T) {
+ r, err := rt.New()
+ if err != nil {
+ t.Fatalf("rt.New failed: %v", err)
+ }
+ defer r.Shutdown()
+ newID := func(name string) security.PrivateID {
+ id, err := r.NewIdentity(name)
+ if err != nil {
+ t.Fatalf("r.NewIdentity failed: %v", err)
+ }
+ isecurity.TrustIdentityProviders(id)
+ return id
+ }
+ testdata := []struct {
+ blesser security.PrivateID
+ blessingName, name string
+ }{
+ {blesser: newID("google"), blessingName: "alice", name: "PrivateID:google/alice"},
+ {blesser: newID("google"), blessingName: "bob", name: "PrivateID:google/bob"},
+ {blesser: newID("veyron"), blessingName: "alice", name: "PrivateID:veyron/alice"},
+ {blesser: newID("veyron"), blessingName: "bob", name: "PrivateID:veyron/bob"},
+ {blesser: NewBlessedIdentity(newID("google"), "alice"), blessingName: "tv", name: "PrivateID:google/alice/tv"},
+ }
+ for _, d := range testdata {
+ if got, want := fmt.Sprintf("%s", NewBlessedIdentity(d.blesser, d.blessingName)), d.name; got != want {
+ t.Errorf("NewBlessedIdentity(%q, %q): Got %q, want %q", d.blesser, d.blessingName, got, want)
+ }
+ }
+}
+
+func TestSaveACLToFile(t *testing.T) {
+ r, err := rt.New()
+ if err != nil {
+ t.Fatalf("rt.New failed: %v", err)
+ }
+ defer r.Shutdown()
+ acl := security.ACL{
+ "veyron/alice": security.LabelSet(security.ReadLabel | security.WriteLabel),
+ "veyron/bob": security.LabelSet(security.ReadLabel),
+ }
+
+ filePath := SaveACLToFile(acl)
+ defer os.Remove(filePath)
+
+ f, err := os.Open(filePath)
+ if err != nil {
+ t.Fatalf("os.Open(%v) failed: %v", filePath, err)
+ }
+ defer f.Close()
+ loadedACL, err := security.LoadACL(f)
+ if err != nil {
+ t.Fatalf("LoadACL failed: %v", err)
+ }
+ if !reflect.DeepEqual(loadedACL, acl) {
+ t.Fatalf("Got ACL %v, but want %v", loadedACL, acl)
+ }
+}
+
+func TestSaveIdentityToFile(t *testing.T) {
+ r, err := rt.New()
+ if err != nil {
+ t.Fatalf("rt.New failed: %v", err)
+ }
+ defer r.Shutdown()
+ id, err := r.NewIdentity("test")
+ if err != nil {
+ t.Fatalf("r.NewIdentity failed: %v", err)
+ }
+
+ filePath := SaveIdentityToFile(id)
+ defer os.Remove(filePath)
+
+ f, err := os.Open(filePath)
+ if err != nil {
+ t.Fatalf("os.Open(%v) failed: %v", filePath, err)
+ }
+ defer f.Close()
+ loadedID, err := security.LoadIdentity(f)
+ if err != nil {
+ t.Fatalf("LoadIdentity failed: %v", err)
+ }
+ if !reflect.DeepEqual(loadedID, id) {
+ t.Fatalf("Got Identity %v, but want %v", loadedID, id)
+ }
+}
diff --git a/lib/testutil/util.go b/lib/testutil/util.go
index f69071f..6dc0b56 100644
--- a/lib/testutil/util.go
+++ b/lib/testutil/util.go
@@ -2,18 +2,9 @@
import (
"fmt"
- "io/ioutil"
- "math/rand"
- "os"
"path/filepath"
"runtime"
- "strconv"
"sync"
- "time"
-
- isecurity "veyron/runtimes/google/security"
-
- "veyron2/security"
)
var (
@@ -68,26 +59,6 @@
return fmt.Sprintf("%s:%d: "+format, nargs...)
}
-// NewBlessedIdentity creates a new identity and blesses it using the provided blesser
-// under the provided name. This function is meant to be used for testing purposes only,
-// it panics if there is an error.
-func NewBlessedIdentity(blesser security.PrivateID, name string) security.PrivateID {
- id, err := isecurity.NewPrivateID("test")
- if err != nil {
- panic(err)
- }
-
- blessedID, err := blesser.Bless(id.PublicID(), name, 5*time.Minute, nil)
- if err != nil {
- panic(err)
- }
- derivedID, err := id.Derive(blessedID)
- if err != nil {
- panic(err)
- }
- return derivedID
-}
-
// RandomBytes generates the given number of random bytes.
func RandomBytes(size int) []byte {
buffer := make([]byte, size)
@@ -106,40 +77,3 @@
copy(buffer, random[start:start+size])
return buffer
}
-
-// SaveACLToFile saves the provided ACL in JSON format to a randomly created
-// temporary file, and returns the path to the file. This function is meant
-// to be used for testing purposes only, it panics if there is an error. The
-// caller must ensure that the created file is removed once it is no longer needed.
-func SaveACLToFile(acl security.ACL) string {
- f, err := ioutil.TempFile("", "saved_acl")
- if err != nil {
- panic(err)
- }
- defer f.Close()
- if err := security.SaveACL(f, acl); err != nil {
- defer os.Remove(f.Name())
- panic(err)
- }
- return f.Name()
-}
-
-// SaveIdentityToFile saves the provided identity in Base64VOM format
-// to a randomly created temporary file, and returns the path to the file.
-// This function is meant to be used for testing purposes only, it panics
-// if there is an error. The caller must ensure that the created file
-// is removed once it is no longer needed.
-func SaveIdentityToFile(id security.PrivateID) string {
- f, err := ioutil.TempFile("", strconv.Itoa(rand.Int()))
- if err != nil {
- panic(err)
- }
- defer f.Close()
- filePath := f.Name()
-
- if err := security.SaveIdentity(f, id); err != nil {
- os.Remove(filePath)
- panic(err)
- }
- return filePath
-}
diff --git a/lib/testutil/util_test.go b/lib/testutil/util_test.go
index cda91a6..0caf19d 100644
--- a/lib/testutil/util_test.go
+++ b/lib/testutil/util_test.go
@@ -1,115 +1,19 @@
-package testutil_test
+package testutil
import (
- "fmt"
- "os"
- "reflect"
"regexp"
"testing"
-
- "veyron/lib/testutil"
- isecurity "veyron/runtimes/google/security"
-
- "veyron2/rt"
- "veyron2/security"
)
func TestFormatLogline(t *testing.T) {
- depth, want := testutil.DepthToExternalCaller(), 2
+ depth, want := DepthToExternalCaller(), 2
if depth != want {
t.Errorf("got %v, want %v", depth, want)
}
{
- line, want := testutil.FormatLogLine(depth, "test"), "testing.go:.*"
+ line, want := FormatLogLine(depth, "test"), "testing.go:.*"
if ok, err := regexp.MatchString(want, line); !ok || err != nil {
t.Errorf("got %v, want %v", line, want)
}
}
}
-
-func TestSaveIdentityToFile(t *testing.T) {
- r, err := rt.New()
- if err != nil {
- t.Fatalf("rt.New failed: %v", err)
- }
- defer r.Shutdown()
- id, err := r.NewIdentity("test")
- if err != nil {
- t.Fatalf("r.NewIdentity failed: %v", err)
- }
-
- filePath := testutil.SaveIdentityToFile(id)
- defer os.Remove(filePath)
-
- f, err := os.Open(filePath)
- if err != nil {
- t.Fatalf("os.Open(%v) failed: %v", filePath, err)
- }
- defer f.Close()
- loadedID, err := security.LoadIdentity(f)
- if err != nil {
- t.Fatalf("LoadIdentity failed: %v", err)
- }
- if !reflect.DeepEqual(loadedID, id) {
- t.Fatalf("Got Identity %v, but want %v", loadedID, id)
- }
-}
-
-func TestSaveACLToFile(t *testing.T) {
- r, err := rt.New()
- if err != nil {
- t.Fatalf("rt.New failed: %v", err)
- }
- defer r.Shutdown()
- acl := security.ACL{
- "veyron/alice": security.LabelSet(security.ReadLabel | security.WriteLabel),
- "veyron/bob": security.LabelSet(security.ReadLabel),
- }
-
- filePath := testutil.SaveACLToFile(acl)
- defer os.Remove(filePath)
-
- f, err := os.Open(filePath)
- if err != nil {
- t.Fatalf("os.Open(%v) failed: %v", filePath, err)
- }
- defer f.Close()
- loadedACL, err := security.LoadACL(f)
- if err != nil {
- t.Fatalf("LoadACL failed: %v", err)
- }
- if !reflect.DeepEqual(loadedACL, acl) {
- t.Fatalf("Got ACL %v, but want %v", loadedACL, acl)
- }
-}
-
-func TestNewBlessedIdentity(t *testing.T) {
- r, err := rt.New()
- if err != nil {
- t.Fatalf("rt.New failed: %v", err)
- }
- defer r.Shutdown()
- newID := func(name string) security.PrivateID {
- id, err := r.NewIdentity(name)
- if err != nil {
- t.Fatalf("r.NewIdentity failed: %v", err)
- }
- isecurity.TrustIdentityProviders(id)
- return id
- }
- testdata := []struct {
- blesser security.PrivateID
- blessingName, name string
- }{
- {blesser: newID("google"), blessingName: "alice", name: "PrivateID:google/alice"},
- {blesser: newID("google"), blessingName: "bob", name: "PrivateID:google/bob"},
- {blesser: newID("veyron"), blessingName: "alice", name: "PrivateID:veyron/alice"},
- {blesser: newID("veyron"), blessingName: "bob", name: "PrivateID:veyron/bob"},
- {blesser: testutil.NewBlessedIdentity(newID("google"), "alice"), blessingName: "tv", name: "PrivateID:google/alice/tv"},
- }
- for _, d := range testdata {
- if got, want := fmt.Sprintf("%s", testutil.NewBlessedIdentity(d.blesser, d.blessingName)), d.name; got != want {
- t.Errorf("NewBlessedIdentity(%q, %q): Got %q, want %q", d.blesser, d.blessingName, got, want)
- }
- }
-}
diff --git a/runtimes/google/ipc/full_test.go b/runtimes/google/ipc/full_test.go
index 5793780..3c68e79 100644
--- a/runtimes/google/ipc/full_test.go
+++ b/runtimes/google/ipc/full_test.go
@@ -12,8 +12,9 @@
"testing"
"time"
- "veyron/lib/testutil"
+ _ "veyron/lib/testutil"
"veyron/lib/testutil/blackbox"
+ tsecurity "veyron/lib/testutil/security"
imanager "veyron/runtimes/google/ipc/stream/manager"
"veyron/runtimes/google/ipc/stream/proxy"
"veyron/runtimes/google/ipc/stream/vc"
@@ -823,7 +824,7 @@
func TestReconnect(t *testing.T) {
b := createBundle(t, clientID, nil, nil) // We only need the client from the bundle.
defer b.cleanup(t)
- idFile := testutil.SaveIdentityToFile(derive(clientID, "server"))
+ idFile := tsecurity.SaveIdentityToFile(derive(clientID, "server"))
server := blackbox.HelperCommand(t, "runServer", "127.0.0.1:0", idFile)
server.Cmd.Start()
addr, err := server.ReadLineFromChild()
diff --git a/runtimes/google/rt/mgmt_test.go b/runtimes/google/rt/mgmt_test.go
index 3bf195e..0c38c3c 100644
--- a/runtimes/google/rt/mgmt_test.go
+++ b/runtimes/google/rt/mgmt_test.go
@@ -14,8 +14,9 @@
"veyron2/naming"
"veyron2/services/mgmt/appcycle"
- "veyron/lib/testutil"
+ _ "veyron/lib/testutil"
"veyron/lib/testutil/blackbox"
+ "veyron/lib/testutil/security"
"veyron/runtimes/google/rt"
vflag "veyron/security/flag"
"veyron/services/mgmt/node"
@@ -264,7 +265,7 @@
}
c := blackbox.HelperCommand(t, "app")
id := r.Identity()
- idFile := testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(id, "test"))
+ idFile := security.SaveIdentityToFile(security.NewBlessedIdentity(id, "test"))
configServer, configServiceName, ch := createConfigServer(t)
c.Cmd.Env = append(c.Cmd.Env, fmt.Sprintf("VEYRON_IDENTITY=%v", idFile),
fmt.Sprintf("%v=%v", mgmt.ParentNodeManagerConfigKey, configServiceName))
diff --git a/security/flag/flag_test.go b/security/flag/flag_test.go
index 56640e0..5fa5616 100644
--- a/security/flag/flag_test.go
+++ b/security/flag/flag_test.go
@@ -6,7 +6,7 @@
"reflect"
"testing"
- "veyron/lib/testutil"
+ tsecurity "veyron/lib/testutil/security"
"veyron2/security"
)
@@ -31,7 +31,7 @@
acl1 = security.ACL{}
acl2 = security.ACL{"veyron/alice": security.LabelSet(security.ReadLabel | security.WriteLabel), "veyron/bob": security.LabelSet(security.ReadLabel)}
)
- acl2File := testutil.SaveACLToFile(acl2)
+ acl2File := tsecurity.SaveACLToFile(acl2)
defer os.Remove(acl2File)
testdata := []struct {
diff --git a/services/mgmt/binary/impl/impl_test.go b/services/mgmt/binary/impl/impl_test.go
index b547171..08c69af 100644
--- a/services/mgmt/binary/impl/impl_test.go
+++ b/services/mgmt/binary/impl/impl_test.go
@@ -6,12 +6,11 @@
"encoding/hex"
"io"
"io/ioutil"
- "math/rand"
"os"
"path/filepath"
- "strconv"
"testing"
- "time"
+
+ "veyron/lib/testutil"
"veyron2/naming"
"veyron2/rt"
@@ -20,30 +19,11 @@
)
const (
- seedEnv = "VEYRON_RNG_SEED"
veyronPrefix = "veyron_binary_repository"
)
-var (
- random []byte
- rnd *rand.Rand
-)
-
func init() {
rt.Init()
- // Initialize pseudo-random number generator.
- seed := time.Now().UnixNano()
- seedString := os.Getenv(seedEnv)
- if seedString != "" {
- var err error
- base, bitSize := 0, 64
- seed, err = strconv.ParseInt(seedString, 0, 64)
- if err != nil {
- vlog.Fatalf("ParseInt(%v, %v, %v) failed: %v", seedString, base, bitSize, err)
- }
- }
- vlog.VI(0).Infof("Using pseudo-random number generator seed = %v", seed)
- rnd = rand.New(rand.NewSource(seed))
}
// invokeUpload invokes the Upload RPC using the given client binary
@@ -105,39 +85,6 @@
return output, nil
}
-func generateBits(size int) []byte {
- buffer := make([]byte, size)
- offset := 0
- for {
- bits := int64(rnd.Int63())
- for i := 0; i < 8; i++ {
- buffer[offset] = byte(bits & 0xff)
- size--
- if size == 0 {
- return buffer
- }
- offset++
- bits >>= 8
- }
- }
-}
-
-func randomBytes(size int) []byte {
- buffer := make([]byte, size)
- // Generate a 4MB of random bytes since that is a value commonly
- // used in this test.
- if len(random) == 0 {
- random = generateBits(4 << 20)
- }
- if size > len(random) {
- extra := generateBits(size - len(random))
- random = append(random, extra...)
- }
- start := rnd.Intn(len(random) - size + 1)
- copy(buffer, random[start:start+size])
- return buffer
-}
-
// startServer starts the binary repository server.
func startServer(t *testing.T, depth int) (repository.Binary, func()) {
// Setup the root of the binary repository.
@@ -196,8 +143,8 @@
binary, cleanup := startServer(t, i)
defer cleanup()
// Create up to 4MB of random bytes.
- size := rnd.Intn(1000 * bufferLength)
- data := randomBytes(size)
+ size := testutil.Rand.Intn(1000 * bufferLength)
+ data := testutil.RandomBytes(size)
// Test the binary repository interface.
if err := binary.Create(rt.R().NewContext(), 1); err != nil {
t.Fatalf("Create() failed: %v", err)
@@ -241,8 +188,8 @@
// Create <length> chunks of up to 4MB of random bytes.
data := make([][]byte, length)
for i := 0; i < length; i++ {
- size := rnd.Intn(1000 * bufferLength)
- data[i] = randomBytes(size)
+ size := testutil.Rand.Intn(1000 * bufferLength)
+ data[i] = testutil.RandomBytes(size)
}
// Test the binary repository interface.
if err := binary.Create(rt.R().NewContext(), int32(length)); err != nil {
@@ -293,8 +240,8 @@
// Create <length> chunks of up to 4MB of random bytes.
data := make([][]byte, length)
for i := 0; i < length; i++ {
- size := rnd.Intn(1000 * bufferLength)
- data[i] = randomBytes(size)
+ size := testutil.Rand.Intn(1000 * bufferLength)
+ data[i] = testutil.RandomBytes(size)
}
if err := binary.Create(rt.R().NewContext(), int32(length)); err != nil {
t.Fatalf("Create() failed: %v", err)
@@ -314,7 +261,7 @@
break
}
for i := 0; i < length; i++ {
- fail := rnd.Intn(2)
+ fail := testutil.Rand.Intn(2)
if parts[i] == MissingPart && fail != 0 {
if err := invokeUpload(t, binary, data[i], int32(i)); err != nil {
t.FailNow()
@@ -335,10 +282,10 @@
length := 2
data := make([][]byte, length)
for i := 0; i < length; i++ {
- size := rnd.Intn(1000 * bufferLength)
+ size := testutil.Rand.Intn(1000 * bufferLength)
data[i] = make([]byte, size)
for j := 0; j < size; j++ {
- data[i][j] = byte(rnd.Int())
+ data[i][j] = byte(testutil.Rand.Int())
}
}
if err := binary.Create(rt.R().NewContext(), int32(length)); err != nil {
diff --git a/services/mgmt/binary/impl/invoker.go b/services/mgmt/binary/impl/invoker.go
index 05c91ec..84976fa 100644
--- a/services/mgmt/binary/impl/invoker.go
+++ b/services/mgmt/binary/impl/invoker.go
@@ -310,7 +310,6 @@
// Use os.Rename() to atomically remove the binary directory
// structure.
path := filepath.Join(filepath.Dir(i.path), "removing-"+filepath.Base(i.path))
- vlog.Infof("from %v to %v", i.path, path)
if err := os.Rename(i.path, path); err != nil {
vlog.Errorf("Rename(%v, %v) failed: %v", i.path, path, err)
return errOperationFailed
@@ -467,7 +466,6 @@
}
return errOperationFailed
}
- vlog.Infof("%v", checksumFile)
dataFile := filepath.Join(path, data)
if err := os.Rename(file.Name(), dataFile); err != nil {
vlog.Errorf("Rename(%v, %v) failed: %v", file.Name(), dataFile, err)
@@ -476,6 +474,5 @@
}
return errOperationFailed
}
- vlog.Infof("%v", dataFile)
return nil
}
diff --git a/services/mgmt/node/impl/impl_test.go b/services/mgmt/node/impl/impl_test.go
index c1f18fd..5a2d08b 100644
--- a/services/mgmt/node/impl/impl_test.go
+++ b/services/mgmt/node/impl/impl_test.go
@@ -14,8 +14,9 @@
"veyron/lib/exec"
"veyron/lib/signals"
- "veyron/lib/testutil"
+ _ "veyron/lib/testutil"
"veyron/lib/testutil/blackbox"
+ "veyron/lib/testutil/security"
"veyron/services/mgmt/node"
"veyron/services/mgmt/node/impl"
mtlib "veyron/services/mounttable/lib"
@@ -413,7 +414,7 @@
//
// TODO(ataly): Eventually we want to use the same identity the node
// manager would have if it was running in production.
- idFile := testutil.SaveIdentityToFile(testutil.NewBlessedIdentity(runtime.Identity(), "test"))
+ idFile := security.SaveIdentityToFile(security.NewBlessedIdentity(runtime.Identity(), "test"))
defer os.Remove(idFile)
child := spawnNodeManager(t, mtName, idFile)
defer child.Cleanup()