))

				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())