summaryrefslogtreecommitdiff
path: root/test/e2e/rmi_test.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2020-10-27 09:14:53 -0500
committerbaude <bbaude@redhat.com>2020-11-16 08:15:44 -0600
commit15539c1c4bdb10095bb4d30c6283795dac657600 (patch)
tree6a0090d6ab89eb7665067ce32194f45b9dfe38da /test/e2e/rmi_test.go
parent392075631a284617b7e37b8bdfb3157f5918cdec (diff)
downloadpodman-15539c1c4bdb10095bb4d30c6283795dac657600.tar.gz
podman-15539c1c4bdb10095bb4d30c6283795dac657600.tar.bz2
podman-15539c1c4bdb10095bb4d30c6283795dac657600.zip
use lookaside storage for remote tests
in an effort to speed up the remote testing, we should be using lookaside storage to avoid pull images as well as importing multiple images into the RW store. one test was removed and added into system test by Ed in #8325 Signed-off-by: baude <bbaude@redhat.com>
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")