diff --git a/test/benchmark/stats.go b/test/benchmark/stats.go
index ce9e169..f600610 100644
--- a/test/benchmark/stats.go
+++ b/test/benchmark/stats.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package benchmark
 
 import (
diff --git a/test/benchmark/stats_test.go b/test/benchmark/stats_test.go
index 05236ae..f9fadcb 100644
--- a/test/benchmark/stats_test.go
+++ b/test/benchmark/stats_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package benchmark_test
 
 import (
diff --git a/test/benchmark/util.go b/test/benchmark/util.go
index ef76c2a..98f0967 100644
--- a/test/benchmark/util.go
+++ b/test/benchmark/util.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package benchmark
 
 import (
diff --git a/test/benchmark/util_test.go b/test/benchmark/util_test.go
index bc10242..abac396 100644
--- a/test/benchmark/util_test.go
+++ b/test/benchmark/util_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package benchmark
 
 import (
diff --git a/test/doc.go b/test/doc.go
index 82b585d..f0fbcdb 100644
--- a/test/doc.go
+++ b/test/doc.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 // Package test provides initalization for unit and integration tests.
 //
 // Init configures logging, random number generators and other global state.
diff --git a/test/expect/expect.go b/test/expect/expect.go
index 1cfc785..9ff7e9a 100644
--- a/test/expect/expect.go
+++ b/test/expect/expect.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 // Package expect provides support for testing the contents from a buffered
 // input stream. It supports literal and pattern based matching. It is
 // line oriented; all of the methods (expect ReadAll) strip trailing newlines
diff --git a/test/expect/expect_test.go b/test/expect/expect_test.go
index beedd85..d017265 100644
--- a/test/expect/expect_test.go
+++ b/test/expect/expect_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package expect_test
 
 import (
diff --git a/test/init.go b/test/init.go
index f3cc8c2..7499cc9 100644
--- a/test/init.go
+++ b/test/init.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package test
 
 import (
diff --git a/test/modules/examples_test.go b/test/modules/examples_test.go
index 299ec71..8b3113b 100644
--- a/test/modules/examples_test.go
+++ b/test/modules/examples_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules_test
 
 import (
diff --git a/test/modules/exec.go b/test/modules/exec.go
index d6dedc9..d9837c7 100644
--- a/test/modules/exec.go
+++ b/test/modules/exec.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules
 
 import (
diff --git a/test/modules/func.go b/test/modules/func.go
index e251469..7445eab 100644
--- a/test/modules/func.go
+++ b/test/modules/func.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules
 
 import (
diff --git a/test/modules/modules_internal_test.go b/test/modules/modules_internal_test.go
index 0585238..e01364b 100644
--- a/test/modules/modules_internal_test.go
+++ b/test/modules/modules_internal_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules
 
 import (
diff --git a/test/modules/modules_test.go b/test/modules/modules_test.go
index ec43492..ced8fc8 100644
--- a/test/modules/modules_test.go
+++ b/test/modules/modules_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules_test
 
 import (
diff --git a/test/modules/only_for_test.go b/test/modules/only_for_test.go
index 8f3143a..48ea1f3 100644
--- a/test/modules/only_for_test.go
+++ b/test/modules/only_for_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules
 
 import "io"
diff --git a/test/modules/queue_rw.go b/test/modules/queue_rw.go
index cc218da..2e5c20a 100644
--- a/test/modules/queue_rw.go
+++ b/test/modules/queue_rw.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules
 
 import (
diff --git a/test/modules/queue_rw_test.go b/test/modules/queue_rw_test.go
index b4cb522..66df967 100644
--- a/test/modules/queue_rw_test.go
+++ b/test/modules/queue_rw_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules_test
 
 import (
diff --git a/test/modules/registry.go b/test/modules/registry.go
index 85c75c1..bc60c9f 100644
--- a/test/modules/registry.go
+++ b/test/modules/registry.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules
 
 import (
diff --git a/test/modules/shell.go b/test/modules/shell.go
index 7878550..4d6f529 100644
--- a/test/modules/shell.go
+++ b/test/modules/shell.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 // Package modules provides a mechanism for running commonly used services
 // as subprocesses and client functionality for accessing those services.
 // Such services and functions are collectively called 'commands' and
diff --git a/test/modules/util.go b/test/modules/util.go
index 94e1a98..ca6f5c3 100644
--- a/test/modules/util.go
+++ b/test/modules/util.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package modules
 
 import (
diff --git a/test/testutil/dispatcher.go b/test/testutil/dispatcher.go
index 9bc1f1a..737a390 100644
--- a/test/testutil/dispatcher.go
+++ b/test/testutil/dispatcher.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/testutil/doc.go b/test/testutil/doc.go
index 79df2f8..781999c 100644
--- a/test/testutil/doc.go
+++ b/test/testutil/doc.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 // Package testutil provides a smorgasbord of utility functions and types for
 // unittests.
 package testutil
diff --git a/test/testutil/glob.go b/test/testutil/glob.go
index 4251a34..156b578 100644
--- a/test/testutil/glob.go
+++ b/test/testutil/glob.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/testutil/rand.go b/test/testutil/rand.go
index 9e2b827..c6db6d7 100644
--- a/test/testutil/rand.go
+++ b/test/testutil/rand.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/testutil/security.go b/test/testutil/security.go
index 7e6d124..1cab8b7 100644
--- a/test/testutil/security.go
+++ b/test/testutil/security.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/testutil/security_test.go b/test/testutil/security_test.go
index 8c2a476..f6d5a35 100644
--- a/test/testutil/security_test.go
+++ b/test/testutil/security_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/testutil/util.go b/test/testutil/util.go
index ed1c0c2..cf579b1 100644
--- a/test/testutil/util.go
+++ b/test/testutil/util.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/testutil/util_test.go b/test/testutil/util_test.go
index 0caf19d..86a8d24 100644
--- a/test/testutil/util_test.go
+++ b/test/testutil/util_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/testutil/vtest.go b/test/testutil/vtest.go
index fccf74d..34230e9 100644
--- a/test/testutil/vtest.go
+++ b/test/testutil/vtest.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 // CallAndRecover calls the function f and returns the result of recover().
diff --git a/test/testutil/vtest_test.go b/test/testutil/vtest_test.go
index a4523ab..0bd33cc 100644
--- a/test/testutil/vtest_test.go
+++ b/test/testutil/vtest_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package testutil
 
 import (
diff --git a/test/timekeeper/manual_time.go b/test/timekeeper/manual_time.go
index 4d36539..490ad84 100644
--- a/test/timekeeper/manual_time.go
+++ b/test/timekeeper/manual_time.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package timekeeper
 
 import (
diff --git a/test/timekeeper/manual_time_test.go b/test/timekeeper/manual_time_test.go
index 8eae8d4..abb3546 100644
--- a/test/timekeeper/manual_time_test.go
+++ b/test/timekeeper/manual_time_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package timekeeper
 
 import (
diff --git a/test/v23tests/binary.go b/test/v23tests/binary.go
index 7902612..2187cbe 100644
--- a/test/v23tests/binary.go
+++ b/test/v23tests/binary.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package v23tests
 
 import (
diff --git a/test/v23tests/doc.go b/test/v23tests/doc.go
index 4bd0fb3..9a6c5cd 100644
--- a/test/v23tests/doc.go
+++ b/test/v23tests/doc.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 // Package v23tests provides support for writing end-to-end style integration
 // tests. In particular, support is provided for building binaries, running
 // processes, making assertions about their output/state and ensuring that
diff --git a/test/v23tests/internal/cached_test.go b/test/v23tests/internal/cached_test.go
index 2b6672c..f3277fa 100644
--- a/test/v23tests/internal/cached_test.go
+++ b/test/v23tests/internal/cached_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package internal_test
 
 import (
diff --git a/test/v23tests/internal/dummy.go b/test/v23tests/internal/dummy.go
index 5bf0569..9272cb6 100644
--- a/test/v23tests/internal/dummy.go
+++ b/test/v23tests/internal/dummy.go
@@ -1 +1,5 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package internal
diff --git a/test/v23tests/invocation.go b/test/v23tests/invocation.go
index 3f30c79..8d5f3cf 100644
--- a/test/v23tests/invocation.go
+++ b/test/v23tests/invocation.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package v23tests
 
 import (
diff --git a/test/v23tests/v23tests.go b/test/v23tests/v23tests.go
index 2771928..157fb84 100644
--- a/test/v23tests/v23tests.go
+++ b/test/v23tests/v23tests.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package v23tests
 
 import (
diff --git a/test/v23tests/v23tests_test.go b/test/v23tests/v23tests_test.go
index 1af5d02..abb8bb3 100644
--- a/test/v23tests/v23tests_test.go
+++ b/test/v23tests/v23tests_test.go
@@ -1,3 +1,7 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package v23tests_test
 
 import (
@@ -280,7 +284,7 @@
 		msg := recover().(string)
 		// this, and the tests below are intended to ensure that line #s
 		// are captured and reported correctly.
-		if got, want := msg, "v23tests_test.go:290"; !strings.Contains(got, want) {
+		if got, want := msg, "v23tests_test.go:294"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 		if got, want := msg, "fork/exec /bin/echox: no such file or directory"; !strings.Contains(got, want) {
@@ -302,7 +306,7 @@
 	sh.SetDefaultStartOpts(opts)
 	defer func() {
 		msg := recover().(string)
-		if got, want := msg, "v23tests_test.go:312"; !strings.Contains(got, want) {
+		if got, want := msg, "v23tests_test.go:316"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 		if got, want := msg, "StartWithOpts"; !strings.Contains(got, want) {
@@ -326,7 +330,7 @@
 		if iterations == 0 {
 			t.Fatalf("our sleeper didn't get to run")
 		}
-		if got, want := recover().(string), "v23tests_test.go:333: timed out"; !strings.Contains(got, want) {
+		if got, want := recover().(string), "v23tests_test.go:337: timed out"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 	}()
@@ -348,7 +352,7 @@
 		if iterations != 0 {
 			t.Fatalf("our sleeper got to run")
 		}
-		if got, want := recover().(string), "v23tests_test.go:355: timed out"; !strings.Contains(got, want) {
+		if got, want := recover().(string), "v23tests_test.go:359: timed out"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 	}()
