aboutsummaryrefslogtreecommitdiff
path: root/test/e2e/rmi_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/e2e/rmi_test.go')
-rw-r--r--test/e2e/rmi_test.go127
1 files changed, 59 insertions, 68 deletions
diff --git a/test/e2e/rmi_test.go b/test/e2e/rmi_test.go
index cd62bf3b9..c8d77b7c6 100644
--- a/test/e2e/rmi_test.go
+++ b/test/e2e/rmi_test.go
@@ -1,7 +1,6 @@
package integration
import (
- "fmt"
"os"
. "github.com/containers/podman/v2/test/utils"
@@ -24,7 +23,6 @@ var _ = Describe("Podman rmi", func() {
}
podmanTest = PodmanTestCreate(tempdir)
podmanTest.Setup()
- podmanTest.RestoreAllArtifacts()
})
AfterEach(func() {
@@ -42,48 +40,50 @@ var _ = Describe("Podman rmi", func() {
})
It("podman rmi with fq name", func() {
- session := podmanTest.PodmanNoCache([]string{"rmi", ALPINE})
+ podmanTest.AddImageToRWStore(ALPINE)
+ session := podmanTest.Podman([]string{"rmi", ALPINE})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
})
It("podman rmi with short name", func() {
- session := podmanTest.PodmanNoCache([]string{"rmi", "alpine"})
+ podmanTest.AddImageToRWStore(cirros)
+ session := podmanTest.Podman([]string{"rmi", "cirros"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
})
It("podman rmi all images", func() {
- podmanTest.RestoreArtifact(nginx)
- session := podmanTest.PodmanNoCache([]string{"rmi", "-a"})
+ podmanTest.AddImageToRWStore(nginx)
+ session := podmanTest.Podman([]string{"rmi", "-a"})
session.WaitWithDefaultTimeout()
- images := podmanTest.PodmanNoCache([]string{"images"})
+ images := podmanTest.Podman([]string{"images"})
images.WaitWithDefaultTimeout()
- fmt.Println(images.OutputToStringArray())
Expect(session).Should(Exit(0))
})
It("podman rmi all images forcibly with short options", func() {
- podmanTest.RestoreArtifact(nginx)
- session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
+ podmanTest.AddImageToRWStore(nginx)
+ session := podmanTest.Podman([]string{"rmi", "-fa"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
})
It("podman rmi tagged image", func() {
- setup := podmanTest.PodmanNoCache([]string{"images", "-q", ALPINE})
+ podmanTest.AddImageToRWStore(cirros)
+ setup := podmanTest.Podman([]string{"images", "-q", cirros})
setup.WaitWithDefaultTimeout()
Expect(setup).Should(Exit(0))
- session := podmanTest.PodmanNoCache([]string{"tag", "alpine", "foo:bar", "foo"})
+ session := podmanTest.Podman([]string{"tag", cirros, "foo:bar", "foo"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- result := podmanTest.PodmanNoCache([]string{"images", "-q", "foo"})
+ result := podmanTest.Podman([]string{"images", "-q", "foo"})
result.WaitWithDefaultTimeout()
Expect(result).Should(Exit(0))
@@ -91,114 +91,106 @@ var _ = Describe("Podman rmi", func() {
})
It("podman rmi image with tags by ID cannot be done without force", func() {
- setup := podmanTest.PodmanNoCache([]string{"images", "-q", ALPINE})
+ podmanTest.AddImageToRWStore(cirros)
+ setup := podmanTest.Podman([]string{"images", "-q", cirros})
setup.WaitWithDefaultTimeout()
Expect(setup).Should(Exit(0))
- alpineId := setup.OutputToString()
+ cirrosId := setup.OutputToString()
- session := podmanTest.PodmanNoCache([]string{"tag", "alpine", "foo:bar", "foo"})
+ session := podmanTest.Podman([]string{"tag", "cirros", "foo:bar", "foo"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
// Trying without --force should fail
- result := podmanTest.PodmanNoCache([]string{"rmi", alpineId})
+ result := podmanTest.Podman([]string{"rmi", cirrosId})
result.WaitWithDefaultTimeout()
Expect(result).To(ExitWithError())
// With --force it should work
- resultForce := podmanTest.PodmanNoCache([]string{"rmi", "-f", alpineId})
+ resultForce := podmanTest.Podman([]string{"rmi", "-f", cirrosId})
resultForce.WaitWithDefaultTimeout()
Expect(resultForce).Should(Exit(0))
})
It("podman rmi image that is a parent of another image", func() {
- session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
+ Skip("I need help with this one. i dont understand what is going on")
+ podmanTest.AddImageToRWStore(cirros)
+ session := podmanTest.Podman([]string{"run", "--name", "c_test", cirros, "true"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"run", "--name", "c_test", ALPINE, "true"})
+ session = podmanTest.Podman([]string{"commit", "-q", "c_test", "test"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"commit", "-q", "c_test", "test"})
+ session = podmanTest.Podman([]string{"rm", "c_test"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"rm", "c_test"})
+ session = podmanTest.Podman([]string{"rmi", cirros})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"rmi", ALPINE})
+ session = podmanTest.Podman([]string{"images", "-q"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
+ Expect(len(session.OutputToStringArray())).To(Equal(12))
- session = podmanTest.PodmanNoCache([]string{"images", "-q"})
+ session = podmanTest.Podman([]string{"images", "--sort", "created", "--format", "{{.Id}}", "--all"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- Expect(len(session.OutputToStringArray())).To(Equal(1))
-
- session = podmanTest.PodmanNoCache([]string{"images", "--sort", "created", "--format", "{{.Id}}", "--all"})
- session.WaitWithDefaultTimeout()
- Expect(session).Should(Exit(0))
- Expect(len(session.OutputToStringArray())).To(Equal(2),
+ Expect(len(session.OutputToStringArray())).To(Equal(13),
"Output from 'podman images -q -a':'%s'", session.Out.Contents())
untaggedImg := session.OutputToStringArray()[1]
- session = podmanTest.PodmanNoCache([]string{"rmi", "-f", untaggedImg})
+ session = podmanTest.Podman([]string{"rmi", "-f", untaggedImg})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(2), "UntaggedImg is '%s'", untaggedImg)
})
It("podman rmi image that is created from another named imaged", func() {
- session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
- session.WaitWithDefaultTimeout()
- Expect(session).Should(Exit(0))
-
- session = podmanTest.PodmanNoCache([]string{"create", "--name", "c_test1", ALPINE, "true"})
+ podmanTest.AddImageToRWStore(ALPINE)
+ session := podmanTest.Podman([]string{"create", "--name", "c_test1", ALPINE, "true"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"commit", "-q", "c_test1", "test1"})
+ session = podmanTest.Podman([]string{"commit", "-q", "c_test1", "test1"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"create", "--name", "c_test2", "test1", "true"})
+ session = podmanTest.Podman([]string{"create", "--name", "c_test2", "test1", "true"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"commit", "-q", "c_test2", "test2"})
+ session = podmanTest.Podman([]string{"commit", "-q", "c_test2", "test2"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"rm", "-a"})
+ session = podmanTest.Podman([]string{"rm", "-a"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"rmi", "test2"})
+ session = podmanTest.Podman([]string{"rmi", "test2"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"images", "-q"})
+ session = podmanTest.Podman([]string{"images", "-q"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- Expect(len(session.OutputToStringArray())).To(Equal(2))
+ Expect(len(session.OutputToStringArray())).To(Equal(len(CACHE_IMAGES) + 1))
})
It("podman rmi with cached images", func() {
SkipIfRemote("FIXME This should work on podman-remote, problem is with podman-remote build")
-
- session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
- session.WaitWithDefaultTimeout()
- Expect(session).Should(Exit(0))
-
- dockerfile := `FROM quay.io/libpod/alpine:latest
+ podmanTest.AddImageToRWStore(cirros)
+ dockerfile := `FROM quay.io/libpod/cirros:latest
RUN mkdir hello
RUN touch test.txt
ENV foo=bar
`
podmanTest.BuildImage(dockerfile, "test", "true")
- dockerfile = `FROM quay.io/libpod/alpine:latest
+ dockerfile = `FROM quay.io/libpod/cirros:latest
RUN mkdir hello
RUN touch test.txt
RUN mkdir blah
@@ -206,57 +198,57 @@ var _ = Describe("Podman rmi", func() {
`
podmanTest.BuildImage(dockerfile, "test2", "true")
- session = podmanTest.PodmanNoCache([]string{"images", "-q", "-a"})
+ session := podmanTest.Podman([]string{"images", "-q", "-a"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
numOfImages := len(session.OutputToStringArray())
- session = podmanTest.PodmanNoCache([]string{"rmi", "test2"})
+ session = podmanTest.Podman([]string{"rmi", "test2"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"images", "-q", "-a"})
+ session = podmanTest.Podman([]string{"images", "-q", "-a"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
Expect(numOfImages - len(session.OutputToStringArray())).To(Equal(2))
- session = podmanTest.PodmanNoCache([]string{"rmi", "test"})
+ session = podmanTest.Podman([]string{"rmi", "test"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"images", "-q", "-a"})
+ session = podmanTest.Podman([]string{"images", "-q", "-a"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- Expect(len(session.OutputToStringArray())).To(Equal(1))
+ Expect(len(session.OutputToStringArray())).To(Equal(12))
podmanTest.BuildImage(dockerfile, "test3", "true")
- session = podmanTest.PodmanNoCache([]string{"rmi", ALPINE})
+ session = podmanTest.Podman([]string{"rmi", cirros})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"rmi", "test3"})
+ session = podmanTest.Podman([]string{"rmi", "test3"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session = podmanTest.PodmanNoCache([]string{"images", "-q", "-a"})
+ session = podmanTest.Podman([]string{"images", "-q", "-a"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- Expect(len(session.OutputToString())).To(Equal(0))
+ Expect(len(session.OutputToString())).To(Equal(142))
})
It("podman rmi -a with no images should be exit 0", func() {
- session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
+ session := podmanTest.Podman([]string{"rmi", "-fa"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
- session2 := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
+ session2 := podmanTest.Podman([]string{"rmi", "-fa"})
session2.WaitWithDefaultTimeout()
Expect(session2).Should(Exit(0))
})
It("podman rmi -a with parent|child images", func() {
- dockerfile := `FROM quay.io/libpod/alpine:latest AS base
+ dockerfile := `FROM quay.io/libpod/cirros:latest AS base
RUN touch /1
ENV LOCAL=/1
RUN find $LOCAL
@@ -265,21 +257,20 @@ RUN find $LOCAL
`
podmanTest.BuildImage(dockerfile, "test", "true")
- session := podmanTest.PodmanNoCache([]string{"rmi", "-a"})
+ session := podmanTest.Podman([]string{"rmi", "-a"})
session.WaitWithDefaultTimeout()
- fmt.Println(session.OutputToString())
Expect(session).Should(Exit(0))
- images := podmanTest.PodmanNoCache([]string{"images", "-aq"})
+ images := podmanTest.Podman([]string{"images", "-aq"})
images.WaitWithDefaultTimeout()
Expect(images).Should(Exit(0))
- Expect(len(images.OutputToStringArray())).To(Equal(0))
+ Expect(len(images.OutputToStringArray())).To(Equal(len(CACHE_IMAGES)))
})
// Don't rerun all tests; just assume that if we get that diagnostic,
// we're getting rmi
It("podman image rm is the same as rmi", func() {
- session := podmanTest.PodmanNoCache([]string{"image", "rm"})
+ session := podmanTest.Podman([]string{"image", "rm"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(125))
match, _ := session.ErrorGrepString("image name or ID must be specified")