var fakeCgroups *fake_cgroups_manager.FakeCgroupsManager var fakeQuotaManager *fake_quota_manager.FakeQuotaManager var fakeBandwidthManager *fake_bandwidth_manager.FakeBandwidthManager var fakeRunner *fake_command_runner.FakeCommandRunner var fakeOomWatcher *fake_watcher.FakeWatcher var containerResources *linux_backend.Resources var container *linux_container.LinuxContainer var containerDir string BeforeEach(func() { fakeRunner = fake_command_runner.New() fakeCgroups = fake_cgroups_manager.New("/cgroups", "some-id") fakeQuotaManager = new(fake_quota_manager.FakeQuotaManager) fakeBandwidthManager = fake_bandwidth_manager.New() fakeOomWatcher = new(fake_watcher.FakeWatcher) var err error containerDir, err = ioutil.TempDir("", "depot") Expect(err).ToNot(HaveOccurred()) _, subnet, _ := net.ParseCIDR("2.3.4.0/30") containerResources = linux_backend.NewResources( 1235, &linux_backend.Network{ IP: net.ParseIP("1.2.3.4"), Subnet: subnet, }, "some-bridge", []uint32{},
ID: "some-id", ContainerPath: containerDir, ContainerRootFSPath: "some-volume-path", Resources: containerResources, ContainerSpec: garden.ContainerSpec{ Handle: "some-handle", GraceTime: time.Second * 1, Env: []string{"env1=env1Value", "env2=env2Value"}, }, Version: containerVersion, }, fake_port_pool.New(1000), fake_command_runner.New(), new(fake_cgroups_manager.FakeCgroupsManager), new(fake_quota_manager.FakeQuotaManager), fake_bandwidth_manager.New(), fakeProcessTracker, new(networkFakes.FakeFilter), new(fake_network_statisticser.FakeNetworkStatisticser), new(fake_watcher.FakeWatcher), logger, ) }) Describe("Running", func() { It("runs the /bin/bash via wsh with the given script as the input, and rlimits in env", func() { _, err := container.Run(garden.ProcessSpec{ User: "******", Path: "/some/script", Args: []string{"arg1", "arg2"}, Limits: garden.ResourceLimits{