JustBeforeEach(func() { fakeUIDPool.AcquireError = nastyError }) It("returns the error", func() { _, err := pool.Create(warden.ContainerSpec{}) Expect(err).To(Equal(nastyError)) }) }) Context("when acquiring a network fails", func() { nastyError := errors.New("oh no!") JustBeforeEach(func() { fakeNetworkPool.AcquireError = nastyError }) It("returns the error and releases the uid", func() { _, err := pool.Create(warden.ContainerSpec{}) Expect(err).To(Equal(nastyError)) Expect(fakeUIDPool.Released).To(ContainElement(uint32(10000))) }) }) Context("when executing create.sh fails", func() { nastyError := errors.New("oh no!") BeforeEach(func() { fakeRunner.WhenRunning(