container, err = client.Create(garden.ContainerSpec{ Privileged: privileged, }) Expect(err).NotTo(HaveOccurred()) initProcPid = initProcessPID(container.Handle()) }) It("should create a depot subdirectory based on the container handle", func() { Expect(container.Handle()).NotTo(BeEmpty()) Expect(filepath.Join(client.DepotDir, container.Handle())).To(BeADirectory()) Expect(filepath.Join(client.DepotDir, container.Handle(), "config.json")).To(BeARegularFile()) }) It("should lookup the right container", func() { lookupContainer, lookupError := client.Lookup(container.Handle()) Expect(lookupError).NotTo(HaveOccurred()) Expect(lookupContainer).To(Equal(container)) }) It("should not leak pipes", func() { process, err := container.Run(garden.ProcessSpec{Path: "echo", Args: []string{"hello"}}, garden.ProcessIO{}) Expect(err).NotTo(HaveOccurred()) Expect(process.Wait()).To(Equal(0)) Expect(client.Destroy(container.Handle())).To(Succeed()) container = nil // avoid double-destroying Eventually(func() int { return numPipes(client.Pid) }).Should(Equal(initialPipes))