)) container.StartReturns(errors.New("insufficient banana!")) _, err := linuxBackend.Create(garden.ContainerSpec{Handle: "disastrous"}) Expect(err).To(HaveOccurred()) Expect(fakeResourcePool.ReleaseCallCount()).To(Equal(1)) Expect(fakeResourcePool.ReleaseArgsForCall(0).Handle).To(Equal("disastrous")) }) }) It("registers the container", func() { container, err := linuxBackend.Create(garden.ContainerSpec{}) Expect(err).ToNot(HaveOccurred()) foundContainer, err := linuxBackend.Lookup(container.Handle()) Expect(err).ToNot(HaveOccurred()) Expect(foundContainer).To(Equal(container)) }) Context("when creating the container fails", func() { disaster := errors.New("failed to create") BeforeEach(func() { fakeResourcePool.AcquireReturns(linux_backend.LinuxContainerSpec{}, disaster) }) It("returns the error", func() { container, err := linuxBackend.Create(garden.ContainerSpec{}) Expect(err).To(HaveOccurred())