Describe("Limiting disk", func() { limits := garden.DiskLimits{ InodeSoft: 13, InodeHard: 14, ByteSoft: 23, ByteHard: 24, } It("sets the quota via the quota manager with the container id", func() { err := container.LimitDisk(limits) Expect(err).ToNot(HaveOccurred()) Expect(fakeQuotaManager.SetLimitsCallCount()).To(Equal(1)) _, path, receivedLimits := fakeQuotaManager.SetLimitsArgsForCall(0) Expect(path).To(Equal(container.RootFSPath())) Expect(receivedLimits).To(Equal(limits)) }) Context("when setting the quota fails", func() { It("returns the error", func() { disaster := errors.New("oh no!") fakeQuotaManager.SetLimitsReturns(disaster) err := container.LimitDisk(limits) Expect(err).To(Equal(disaster)) }) }) }) Describe("Getting the current disk limits", func() {
new(fake_network_statisticser.FakeNetworkStatisticser), fakeOomWatcher, lagertest.NewTestLogger("linux-container-limits-test"), ) }) It("sets the container ID", func() { Expect(container.ID()).To(Equal("some-id")) }) It("sets the container handle", func() { Expect(container.Handle()).To(Equal("some-handle")) }) It("sets the container subvolume path", func() { Expect(container.RootFSPath()).To(Equal("some-volume-path")) }) It("sets the container grace time", func() { Expect(container.GraceTime()).To(Equal(1 * time.Second)) }) Describe("Starting", func() { It("executes the container's start.sh with the correct environment", func() { err := container.Start() Expect(err).ToNot(HaveOccurred()) Expect(fakeRunner).To(HaveExecutedSerially( fake_command_runner.CommandSpec{ Path: containerDir + "/start.sh", Env: []string{