github.com/containers/podman/v5@v5.1.0-rc1/test/e2e/wait_test.go (about) 1 package integration 2 3 import ( 4 . "github.com/containers/podman/v5/test/utils" 5 . "github.com/onsi/ginkgo/v2" 6 . "github.com/onsi/gomega" 7 . "github.com/onsi/gomega/gexec" 8 ) 9 10 var _ = Describe("Podman wait", func() { 11 12 It("podman wait on bogus container", func() { 13 session := podmanTest.Podman([]string{"wait", "1234"}) 14 session.WaitWithDefaultTimeout() 15 Expect(session).Should(Exit(125)) 16 17 }) 18 19 It("podman wait on a stopped container", func() { 20 session := podmanTest.Podman([]string{"run", "-d", ALPINE, "ls"}) 21 session.Wait(10) 22 cid := session.OutputToString() 23 Expect(session).Should(ExitCleanly()) 24 session = podmanTest.Podman([]string{"wait", cid}) 25 session.WaitWithDefaultTimeout() 26 Expect(session).Should(ExitCleanly()) 27 }) 28 29 It("podman wait on a sleeping container", func() { 30 session := podmanTest.Podman([]string{"run", "-d", ALPINE, "sleep", "1"}) 31 session.Wait(20) 32 cid := session.OutputToString() 33 Expect(session).Should(ExitCleanly()) 34 session = podmanTest.Podman([]string{"wait", cid}) 35 session.Wait(20) 36 Expect(session).Should(ExitCleanly()) 37 }) 38 39 It("podman wait on latest container", func() { 40 session := podmanTest.Podman([]string{"run", "-d", ALPINE, "sleep", "1"}) 41 session.Wait(20) 42 Expect(session).Should(ExitCleanly()) 43 if IsRemote() { 44 session = podmanTest.Podman([]string{"wait", session.OutputToString()}) 45 } else { 46 session = podmanTest.Podman([]string{"wait", "-l"}) 47 } 48 session.WaitWithDefaultTimeout() 49 Expect(session).Should(ExitCleanly()) 50 }) 51 52 It("podman container wait on latest container", func() { 53 session := podmanTest.Podman([]string{"container", "run", "-d", ALPINE, "sleep", "1"}) 54 session.Wait(20) 55 Expect(session).Should(ExitCleanly()) 56 if IsRemote() { 57 session = podmanTest.Podman([]string{"container", "wait", session.OutputToString()}) 58 } else { 59 session = podmanTest.Podman([]string{"container", "wait", "-l"}) 60 } 61 session.WaitWithDefaultTimeout() 62 Expect(session).Should(ExitCleanly()) 63 }) 64 65 It("podman container wait on latest container with --interval flag", func() { 66 session := podmanTest.Podman([]string{"container", "run", "-d", ALPINE, "sleep", "1"}) 67 session.Wait(20) 68 Expect(session).Should(ExitCleanly()) 69 session = podmanTest.Podman([]string{"container", "wait", "-i", "5000", session.OutputToString()}) 70 session.WaitWithDefaultTimeout() 71 Expect(session).Should(ExitCleanly()) 72 }) 73 74 It("podman container wait on latest container with --interval flag", func() { 75 session := podmanTest.Podman([]string{"container", "run", "-d", ALPINE, "sleep", "1"}) 76 session.WaitWithDefaultTimeout() 77 Expect(session).Should(ExitCleanly()) 78 session = podmanTest.Podman([]string{"container", "wait", "--interval", "1s", session.OutputToString()}) 79 session.WaitWithDefaultTimeout() 80 Expect(session).Should(ExitCleanly()) 81 }) 82 83 It("podman container wait on container with bogus --interval", func() { 84 session := podmanTest.Podman([]string{"container", "run", "-d", ALPINE, "sleep", "1"}) 85 session.WaitWithDefaultTimeout() 86 Expect(session).Should(ExitCleanly()) 87 session = podmanTest.Podman([]string{"container", "wait", "--interval", "100days", session.OutputToString()}) 88 session.WaitWithDefaultTimeout() 89 Expect(session).Should(Exit(125)) 90 }) 91 92 It("podman wait on three containers", func() { 93 session := podmanTest.Podman([]string{"run", "-d", ALPINE, "sleep", "1"}) 94 session.Wait(20) 95 Expect(session).Should(ExitCleanly()) 96 cid1 := session.OutputToString() 97 session = podmanTest.Podman([]string{"run", "-d", ALPINE, "sleep", "1"}) 98 session.Wait(20) 99 Expect(session).Should(ExitCleanly()) 100 cid2 := session.OutputToString() 101 session = podmanTest.Podman([]string{"run", "-d", ALPINE, "sleep", "1"}) 102 session.Wait(20) 103 Expect(session).Should(ExitCleanly()) 104 cid3 := session.OutputToString() 105 session = podmanTest.Podman([]string{"wait", cid1, cid2, cid3}) 106 session.Wait(20) 107 Expect(session).Should(ExitCleanly()) 108 Expect(session.OutputToStringArray()).To(Equal([]string{"0", "0", "0"})) 109 }) 110 })