summaryrefslogtreecommitdiffhomepage
path: root/runsc/container
diff options
context:
space:
mode:
Diffstat (limited to 'runsc/container')
-rw-r--r--runsc/container/BUILD2
-rw-r--r--runsc/container/container_test.go89
2 files changed, 45 insertions, 46 deletions
diff --git a/runsc/container/BUILD b/runsc/container/BUILD
index 1171355c8..e40ca4709 100644
--- a/runsc/container/BUILD
+++ b/runsc/container/BUILD
@@ -39,6 +39,7 @@ go_test(
":uds_test_app",
"//runsc",
],
+ embed = [":container"],
tags = [
"requires-kvm",
],
@@ -49,7 +50,6 @@ go_test(
"//pkg/sentry/kernel/auth",
"//pkg/unet",
"//runsc/boot",
- "//runsc/container",
"//runsc/specutils",
"//runsc/test/testutil",
"@com_github_opencontainers_runtime-spec//specs-go:go_default_library",
diff --git a/runsc/container/container_test.go b/runsc/container/container_test.go
index dadf8445b..f9f7d75ea 100644
--- a/runsc/container/container_test.go
+++ b/runsc/container/container_test.go
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package container_test
+package container
import (
"bytes"
@@ -38,7 +38,6 @@ import (
"gvisor.googlesource.com/gvisor/pkg/sentry/kernel/auth"
"gvisor.googlesource.com/gvisor/pkg/unet"
"gvisor.googlesource.com/gvisor/runsc/boot"
- "gvisor.googlesource.com/gvisor/runsc/container"
"gvisor.googlesource.com/gvisor/runsc/specutils"
"gvisor.googlesource.com/gvisor/runsc/test/testutil"
)
@@ -51,7 +50,7 @@ func init() {
}
// waitForProcessList waits for the given process list to show up in the container.
-func waitForProcessList(s *container.Container, expected []*control.Process) error {
+func waitForProcessList(s *Container, expected []*control.Process) error {
var got []*control.Process
for start := time.Now(); time.Now().Sub(start) < 10*time.Second; {
var err error
@@ -90,7 +89,7 @@ func procListsEqual(got, want []*control.Process) bool {
// getAndCheckProcLists is similar to waitForProcessList, but does not wait and retry the
// test for equality. This is because we already confirmed that exec occurred.
-func getAndCheckProcLists(cont *container.Container, want []*control.Process) error {
+func getAndCheckProcLists(cont *Container, want []*control.Process) error {
got, err := cont.Processes()
if err != nil {
return fmt.Errorf("error getting process data from container: %v", err)
@@ -188,7 +187,7 @@ func run(spec *specs.Spec, conf *boot.Config) error {
defer os.RemoveAll(bundleDir)
// Create, start and wait for the container.
- s, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ s, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
return fmt.Errorf("error creating container: %v", err)
}
@@ -276,21 +275,21 @@ func TestLifecycle(t *testing.T) {
}
// Create the container.
id := testutil.UniqueContainerID()
- if _, err := container.Create(id, spec, conf, bundleDir, "", ""); err != nil {
+ if _, err := Create(id, spec, conf, bundleDir, "", ""); err != nil {
t.Fatalf("error creating container: %v", err)
}
// Load the container from disk and check the status.
- s, err := container.Load(rootDir, id)
+ s, err := Load(rootDir, id)
if err != nil {
t.Fatalf("error loading container: %v", err)
}
- if got, want := s.Status, container.Created; got != want {
+ if got, want := s.Status, Created; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
// List should return the container id.
- ids, err := container.List(rootDir)
+ ids, err := List(rootDir)
if err != nil {
t.Fatalf("error listing containers: %v", err)
}
@@ -303,11 +302,11 @@ func TestLifecycle(t *testing.T) {
t.Fatalf("error starting container: %v", err)
}
// Load the container from disk and check the status.
- s, err = container.Load(rootDir, id)
+ s, err = Load(rootDir, id)
if err != nil {
t.Fatalf("error loading container: %v", err)
}
- if got, want := s.Status, container.Running; got != want {
+ if got, want := s.Status, Running; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
@@ -354,11 +353,11 @@ func TestLifecycle(t *testing.T) {
g.Wait()
// Load the container from disk and check the status.
- s, err = container.Load(rootDir, id)
+ s, err = Load(rootDir, id)
if err != nil {
t.Fatalf("error loading container: %v", err)
}
- if got, want := s.Status, container.Stopped; got != want {
+ if got, want := s.Status, Stopped; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
@@ -368,7 +367,7 @@ func TestLifecycle(t *testing.T) {
}
// List should not return the container id.
- ids, err = container.List(rootDir)
+ ids, err = List(rootDir)
if err != nil {
t.Fatalf("error listing containers: %v", err)
}
@@ -377,7 +376,7 @@ func TestLifecycle(t *testing.T) {
}
// Loading the container by id should fail.
- if _, err = container.Load(rootDir, id); err == nil {
+ if _, err = Load(rootDir, id); err == nil {
t.Errorf("expected loading destroyed container to fail, but it did not")
}
}
@@ -404,7 +403,7 @@ func TestExePath(t *testing.T) {
t.Fatalf("exec: %s, error setting up container: %v", test.path, err)
}
- ws, err := container.Run(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ ws, err := Run(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
os.RemoveAll(rootDir)
os.RemoveAll(bundleDir)
@@ -437,7 +436,7 @@ func TestAppExitStatus(t *testing.T) {
defer os.RemoveAll(rootDir)
defer os.RemoveAll(bundleDir)
- ws, err := container.Run(testutil.UniqueContainerID(), succSpec, conf, bundleDir, "", "")
+ ws, err := Run(testutil.UniqueContainerID(), succSpec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error running container: %v", err)
}
@@ -456,7 +455,7 @@ func TestAppExitStatus(t *testing.T) {
defer os.RemoveAll(rootDir2)
defer os.RemoveAll(bundleDir2)
- ws, err = container.Run(testutil.UniqueContainerID(), succSpec, conf, bundleDir2, "", "")
+ ws, err = Run(testutil.UniqueContainerID(), succSpec, conf, bundleDir2, "", "")
if err != nil {
t.Fatalf("error running container: %v", err)
}
@@ -481,7 +480,7 @@ func TestExec(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- s, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ s, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -589,7 +588,7 @@ func TestCheckpointRestore(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- cont, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ cont, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -635,7 +634,7 @@ func TestCheckpointRestore(t *testing.T) {
defer outputFile2.Close()
// Restore into a new container.
- cont2, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ cont2, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -674,7 +673,7 @@ func TestCheckpointRestore(t *testing.T) {
defer outputFile3.Close()
// Restore into a new container.
- cont3, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ cont3, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -753,7 +752,7 @@ func TestUnixDomainSockets(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- cont, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ cont, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -800,7 +799,7 @@ func TestUnixDomainSockets(t *testing.T) {
defer outputFile2.Close()
// Restore into a new container.
- contRestore, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ contRestore, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -854,7 +853,7 @@ func TestPauseResume(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- cont, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ cont, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -902,7 +901,7 @@ func TestPauseResume(t *testing.T) {
if err := cont.Pause(); err != nil {
t.Errorf("error pausing container: %v", err)
}
- if got, want := cont.Status, container.Paused; got != want {
+ if got, want := cont.Status, Paused; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
@@ -922,7 +921,7 @@ func TestPauseResume(t *testing.T) {
if err := cont.Resume(); err != nil {
t.Errorf("error pausing container: %v", err)
}
- if got, want := cont.Status, container.Running; got != want {
+ if got, want := cont.Status, Running; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
@@ -957,7 +956,7 @@ func TestPauseResumeStatus(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- cont, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ cont, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -970,7 +969,7 @@ func TestPauseResumeStatus(t *testing.T) {
if err := cont.Pause(); err != nil {
t.Errorf("error pausing container: %v", err)
}
- if got, want := cont.Status, container.Paused; got != want {
+ if got, want := cont.Status, Paused; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
@@ -978,7 +977,7 @@ func TestPauseResumeStatus(t *testing.T) {
if err := cont.Pause(); err == nil {
t.Errorf("error pausing container that was already paused: %v", err)
}
- if got, want := cont.Status, container.Paused; got != want {
+ if got, want := cont.Status, Paused; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
@@ -986,7 +985,7 @@ func TestPauseResumeStatus(t *testing.T) {
if err := cont.Resume(); err != nil {
t.Errorf("error resuming container: %v", err)
}
- if got, want := cont.Status, container.Running; got != want {
+ if got, want := cont.Status, Running; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
@@ -994,7 +993,7 @@ func TestPauseResumeStatus(t *testing.T) {
if err := cont.Resume(); err == nil {
t.Errorf("error resuming container already running: %v", err)
}
- if got, want := cont.Status, container.Running; got != want {
+ if got, want := cont.Status, Running; got != want {
t.Errorf("container status got %v, want %v", got, want)
}
}
@@ -1021,7 +1020,7 @@ func TestCapabilities(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- s, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ s, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1123,7 +1122,7 @@ func TestConsoleSocket(t *testing.T) {
// Create the container and pass the socket name.
id := testutil.UniqueContainerID()
- s, err := container.Create(id, spec, conf, bundleDir, socketRelPath, "")
+ s, err := Create(id, spec, conf, bundleDir, socketRelPath, "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1249,7 +1248,7 @@ func TestReadonlyRoot(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create, start and wait for the container.
- s, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ s, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1292,7 +1291,7 @@ func TestReadonlyMount(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create, start and wait for the container.
- s, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ s, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1334,7 +1333,7 @@ func TestAbbreviatedIDs(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- cont, err := container.Create(cid, spec, conf, bundleDir, "", "")
+ cont, err := Create(cid, spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1351,7 +1350,7 @@ func TestAbbreviatedIDs(t *testing.T) {
cids[2]: cids[2],
}
for shortid, longid := range unambiguous {
- if _, err := container.Load(rootDir, shortid); err != nil {
+ if _, err := Load(rootDir, shortid); err != nil {
t.Errorf("%q should resolve to %q: %v", shortid, longid, err)
}
}
@@ -1362,7 +1361,7 @@ func TestAbbreviatedIDs(t *testing.T) {
"ba",
}
for _, shortid := range ambiguous {
- if s, err := container.Load(rootDir, shortid); err == nil {
+ if s, err := Load(rootDir, shortid); err == nil {
t.Errorf("%q should be ambiguous, but resolved to %q", shortid, s.ID)
}
}
@@ -1398,7 +1397,7 @@ func TestMultiContainerSanity(t *testing.T) {
defer os.RemoveAll(rootDir)
// Setup the containers.
- containers := make([]*container.Container, 0, len(containerIDs))
+ containers := make([]*Container, 0, len(containerIDs))
for i, annotations := range containerAnnotations {
spec := testutil.NewSpecWithArgs("sleep", "100")
spec.Annotations = annotations
@@ -1407,7 +1406,7 @@ func TestMultiContainerSanity(t *testing.T) {
t.Fatalf("error setting up container: %v", err)
}
defer os.RemoveAll(bundleDir)
- cont, err := container.Create(containerIDs[i], spec, conf, bundleDir, "", "")
+ cont, err := Create(containerIDs[i], spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1475,7 +1474,7 @@ func TestMultiContainerWait(t *testing.T) {
defer os.RemoveAll(rootDir)
// Setup the containers.
- containers := make([]*container.Container, 0, len(containerIDs))
+ containers := make([]*Container, 0, len(containerIDs))
for i, annotations := range containerAnnotations {
spec := testutil.NewSpecWithArgs(args[i][0], args[i][1])
spec.Annotations = annotations
@@ -1485,7 +1484,7 @@ func TestMultiContainerWait(t *testing.T) {
t.Fatalf("error setting up container: %v", err)
}
defer os.RemoveAll(bundleDir)
- cont, err := container.Create(containerIDs[i], spec, conf, bundleDir, "", "")
+ cont, err := Create(containerIDs[i], spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1591,7 +1590,7 @@ func TestContainerVolumeContentsShared(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- c, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ c, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}
@@ -1713,7 +1712,7 @@ func TestGoferExits(t *testing.T) {
defer os.RemoveAll(bundleDir)
// Create and start the container.
- c, err := container.Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
+ c, err := Create(testutil.UniqueContainerID(), spec, conf, bundleDir, "", "")
if err != nil {
t.Fatalf("error creating container: %v", err)
}