github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/e2e/system_reset_test.go (about) 1 package integration 2 3 import ( 4 "fmt" 5 "os" 6 7 . "github.com/containers/podman/v2/test/utils" 8 . "github.com/onsi/ginkgo" 9 . "github.com/onsi/gomega" 10 ) 11 12 var _ = Describe("podman system reset", func() { 13 var ( 14 tempdir string 15 err error 16 podmanTest *PodmanTestIntegration 17 ) 18 19 BeforeEach(func() { 20 tempdir, err = CreateTempDirInTempDir() 21 if err != nil { 22 os.Exit(1) 23 } 24 podmanTest = PodmanTestCreate(tempdir) 25 podmanTest.Setup() 26 podmanTest.SeedImages() 27 }) 28 29 AfterEach(func() { 30 podmanTest.Cleanup() 31 f := CurrentGinkgoTestDescription() 32 timedResult := fmt.Sprintf("Test: %s completed in %f seconds", f.TestText, f.Duration.Seconds()) 33 GinkgoWriter.Write([]byte(timedResult)) 34 }) 35 36 It("podman system reset", func() { 37 SkipIfRemote("system reset not supported on podman --remote") 38 // system reset will not remove additional store images, so need to grab length 39 40 session := podmanTest.Podman([]string{"rmi", "--force", "--all"}) 41 session.WaitWithDefaultTimeout() 42 Expect(session.ExitCode()).To(Equal(0)) 43 44 session = podmanTest.Podman([]string{"images", "-n"}) 45 session.WaitWithDefaultTimeout() 46 Expect(session.ExitCode()).To(Equal(0)) 47 l := len(session.OutputToStringArray()) 48 49 podmanTest.AddImageToRWStore(ALPINE) 50 session = podmanTest.Podman([]string{"volume", "create", "data"}) 51 session.WaitWithDefaultTimeout() 52 Expect(session.ExitCode()).To(Equal(0)) 53 54 session = podmanTest.Podman([]string{"create", "-v", "data:/data", ALPINE, "echo", "hello"}) 55 session.WaitWithDefaultTimeout() 56 Expect(session.ExitCode()).To(Equal(0)) 57 58 session = podmanTest.Podman([]string{"system", "reset", "-f"}) 59 session.WaitWithDefaultTimeout() 60 Expect(session.ExitCode()).To(Equal(0)) 61 62 // If remote then the varlink service should have exited 63 // On local tests this is a noop 64 podmanTest.StartRemoteService() 65 66 session = podmanTest.Podman([]string{"images", "-n"}) 67 session.WaitWithDefaultTimeout() 68 Expect(session.ExitCode()).To(Equal(0)) 69 Expect(len(session.OutputToStringArray())).To(Equal(l)) 70 71 session = podmanTest.Podman([]string{"volume", "ls"}) 72 session.WaitWithDefaultTimeout() 73 Expect(session.ExitCode()).To(Equal(0)) 74 Expect(len(session.OutputToStringArray())).To(Equal(0)) 75 76 session = podmanTest.Podman([]string{"container", "ls", "-q"}) 77 session.WaitWithDefaultTimeout() 78 Expect(session.ExitCode()).To(Equal(0)) 79 Expect(len(session.OutputToStringArray())).To(Equal(0)) 80 }) 81 })