BeforeEach(func() { args = []string{"--debug-bind-ip", "0.0.0.0", "--debug-bind-port", fmt.Sprintf("%d", 8080+GinkgoParallelNode())} }) JustBeforeEach(func() { client = startGarden(args...) }) AfterEach(func() { Expect(client.DestroyAndStop()).To(Succeed()) }) It("should not leak goroutines", func() { handle := fmt.Sprintf("goroutine-leak-test-%d", GinkgoParallelNode()) numGoroutinesBefore, err := client.NumGoroutines() Expect(err).NotTo(HaveOccurred()) _, err = client.Create(garden.ContainerSpec{ Handle: handle, }) Expect(err).NotTo(HaveOccurred()) client.Destroy(handle) Eventually(func() int { numGoroutinesAfter, err := client.NumGoroutines() Expect(err).NotTo(HaveOccurred()) return numGoroutinesAfter }).Should(Equal(numGoroutinesBefore)) })