BeforeEach(func() { var err error lockDir, err = ioutil.TempDir("", "lock-dir") Ω(err).ShouldNot(HaveOccurred()) }) AfterEach(func() { err := os.RemoveAll(lockDir) Ω(err).ShouldNot(HaveOccurred()) }) Context("when a name file doesn't exist", func() { It("returns an error", func() { _, _, err := lockPool.ReleaseLock(lockDir) Ω(err).Should(HaveOccurred()) }) }) Context("when a name file does exist", func() { BeforeEach(func() { err := ioutil.WriteFile(filepath.Join(lockDir, "name"), []byte("some-lock"), 0755) Ω(err).ShouldNot(HaveOccurred()) }) Context("when setup fails", func() { BeforeEach(func() { fakeLockHandler.SetupReturns(errors.New("some-error")) })