summaryrefslogtreecommitdiff
path: root/test/e2e/images_test.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-05-14 14:28:50 -0500
committerbaude <bbaude@redhat.com>2019-05-29 15:12:05 -0500
commitf610a485c1bca7a78d3b2f70e2005b79668fab2f (patch)
tree1a3650add2aff9b57ea005c543a29a39ff5b4976 /test/e2e/images_test.go
parent8422503f4311555ecb799449b371ad1600a8020f (diff)
downloadpodman-f610a485c1bca7a78d3b2f70e2005b79668fab2f.tar.gz
podman-f610a485c1bca7a78d3b2f70e2005b79668fab2f.tar.bz2
podman-f610a485c1bca7a78d3b2f70e2005b79668fab2f.zip
use imagecaches for local tests
when doing localized tests (not varlink), we can use secondary image stores as read-only image caches. this cuts down on test time significantly because each test does not need to restore the images from a tarball anymore. Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'test/e2e/images_test.go')
-rw-r--r--test/e2e/images_test.go49
1 files changed, 28 insertions, 21 deletions
diff --git a/test/e2e/images_test.go b/test/e2e/images_test.go
index 23455163b..07d61e885 100644
--- a/test/e2e/images_test.go
+++ b/test/e2e/images_test.go
@@ -25,7 +25,7 @@ var _ = Describe("Podman images", func() {
}
podmanTest = PodmanTestCreate(tempdir)
podmanTest.Setup()
- podmanTest.RestoreAllArtifacts()
+ podmanTest.SeedImages()
})
AfterEach(func() {
@@ -44,14 +44,15 @@ var _ = Describe("Podman images", func() {
})
It("podman images with no images prints header", func() {
- rmi := podmanTest.Podman([]string{"rmi", "-a"})
+ rmi := podmanTest.PodmanNoCache([]string{"rmi", "-a"})
rmi.WaitWithDefaultTimeout()
Expect(rmi.ExitCode()).To(Equal(0))
- session := podmanTest.Podman([]string{"images"})
+ session := podmanTest.PodmanNoCache([]string{"images"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expect(len(session.OutputToStringArray())).To(Equal(1))
+ Expect(session.LineInOutputContains("REPOSITORY")).To(BeTrue())
})
It("podman image List", func() {
@@ -65,15 +66,16 @@ var _ = Describe("Podman images", func() {
It("podman images with multiple tags", func() {
// tag "docker.io/library/alpine:latest" to "foo:{a,b,c}"
- session := podmanTest.Podman([]string{"tag", ALPINE, "foo:a", "foo:b", "foo:c"})
+ podmanTest.RestoreAllArtifacts()
+ session := podmanTest.PodmanNoCache([]string{"tag", ALPINE, "foo:a", "foo:b", "foo:c"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
// tag "foo:c" to "bar:{a,b}"
- session = podmanTest.Podman([]string{"tag", "foo:c", "bar:a", "bar:b"})
+ session = podmanTest.PodmanNoCache([]string{"tag", "foo:c", "bar:a", "bar:b"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
// check all previous and the newly tagged images
- session = podmanTest.Podman([]string{"images"})
+ session = podmanTest.PodmanNoCache([]string{"images"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
session.LineInOutputContainsTag("docker.io/library/alpine", "latest")
@@ -83,7 +85,7 @@ var _ = Describe("Podman images", func() {
session.LineInOutputContainsTag("foo", "c")
session.LineInOutputContainsTag("bar", "a")
session.LineInOutputContainsTag("bar", "b")
- session = podmanTest.Podman([]string{"images", "-qn"})
+ session = podmanTest.PodmanNoCache([]string{"images", "-qn"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expect(len(session.OutputToStringArray())).To(BeNumerically("==", 2))
@@ -119,19 +121,20 @@ var _ = Describe("Podman images", func() {
})
It("podman images filter by image name", func() {
- session := podmanTest.Podman([]string{"images", "-q", ALPINE})
+ podmanTest.RestoreAllArtifacts()
+ session := podmanTest.PodmanNoCache([]string{"images", "-q", ALPINE})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expect(len(session.OutputToStringArray())).To(Equal(1))
- session = podmanTest.Podman([]string{"tag", ALPINE, "foo:a"})
+ session = podmanTest.PodmanNoCache([]string{"tag", ALPINE, "foo:a"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
- session = podmanTest.Podman([]string{"tag", BB, "foo:b"})
+ session = podmanTest.PodmanNoCache([]string{"tag", BB, "foo:b"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
- session = podmanTest.Podman([]string{"images", "-q", "foo"})
+ session = podmanTest.PodmanNoCache([]string{"images", "-q", "foo"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expect(len(session.OutputToStringArray())).To(Equal(2))
@@ -141,24 +144,25 @@ var _ = Describe("Podman images", func() {
if podmanTest.RemoteTest {
Skip("Does not work on remote client")
}
- result := podmanTest.Podman([]string{"images", "-q", "-f", "reference=docker.io*"})
+ podmanTest.RestoreAllArtifacts()
+ result := podmanTest.PodmanNoCache([]string{"images", "-q", "-f", "reference=docker.io*"})
result.WaitWithDefaultTimeout()
Expect(result.ExitCode()).To(Equal(0))
Expect(len(result.OutputToStringArray())).To(Equal(2))
- retapline := podmanTest.Podman([]string{"images", "-f", "reference=a*pine"})
+ retapline := podmanTest.PodmanNoCache([]string{"images", "-f", "reference=a*pine"})
retapline.WaitWithDefaultTimeout()
Expect(retapline.ExitCode()).To(Equal(0))
Expect(len(retapline.OutputToStringArray())).To(Equal(2))
Expect(retapline.LineInOutputContains("alpine"))
- retapline = podmanTest.Podman([]string{"images", "-f", "reference=alpine"})
+ retapline = podmanTest.PodmanNoCache([]string{"images", "-f", "reference=alpine"})
retapline.WaitWithDefaultTimeout()
Expect(retapline.ExitCode()).To(Equal(0))
Expect(len(retapline.OutputToStringArray())).To(Equal(2))
Expect(retapline.LineInOutputContains("alpine"))
- retnone := podmanTest.Podman([]string{"images", "-q", "-f", "reference=bogus"})
+ retnone := podmanTest.PodmanNoCache([]string{"images", "-q", "-f", "reference=bogus"})
retnone.WaitWithDefaultTimeout()
Expect(retnone.ExitCode()).To(Equal(0))
Expect(len(retnone.OutputToStringArray())).To(Equal(0))
@@ -182,14 +186,15 @@ RUN apk update && apk add man
if podmanTest.RemoteTest {
Skip("Does not work on remote client")
}
- rmi := podmanTest.Podman([]string{"rmi", "busybox"})
+ podmanTest.RestoreAllArtifacts()
+ rmi := podmanTest.PodmanNoCache([]string{"rmi", "busybox"})
rmi.WaitWithDefaultTimeout()
Expect(rmi.ExitCode()).To(Equal(0))
dockerfile := `FROM docker.io/library/alpine:latest
`
podmanTest.BuildImage(dockerfile, "foobar.com/before:latest", "false")
- result := podmanTest.Podman([]string{"images", "-q", "-f", "after=docker.io/library/alpine:latest"})
+ result := podmanTest.PodmanNoCache([]string{"images", "-q", "-f", "after=docker.io/library/alpine:latest"})
result.WaitWithDefaultTimeout()
Expect(result.ExitCode()).To(Equal(0))
Expect(len(result.OutputToStringArray())).To(Equal(0))
@@ -199,14 +204,15 @@ RUN apk update && apk add man
if podmanTest.RemoteTest {
Skip("Does not work on remote client")
}
- rmi := podmanTest.Podman([]string{"image", "rm", "busybox"})
+ podmanTest.RestoreAllArtifacts()
+ rmi := podmanTest.PodmanNoCache([]string{"image", "rm", "busybox"})
rmi.WaitWithDefaultTimeout()
Expect(rmi.ExitCode()).To(Equal(0))
dockerfile := `FROM docker.io/library/alpine:latest
`
podmanTest.BuildImage(dockerfile, "foobar.com/before:latest", "false")
- result := podmanTest.Podman([]string{"image", "list", "-q", "-f", "after=docker.io/library/alpine:latest"})
+ result := podmanTest.PodmanNoCache([]string{"image", "list", "-q", "-f", "after=docker.io/library/alpine:latest"})
result.WaitWithDefaultTimeout()
Expect(result.ExitCode()).To(Equal(0))
Expect(len(result.OutputToStringArray())).To(Equal(0))
@@ -282,18 +288,19 @@ RUN apk update && apk add man
if podmanTest.RemoteTest {
Skip("Does not work on remote client")
}
+ podmanTest.RestoreAllArtifacts()
dockerfile := `FROM docker.io/library/alpine:latest
RUN mkdir hello
RUN touch test.txt
ENV foo=bar
`
podmanTest.BuildImage(dockerfile, "test", "true")
- session := podmanTest.Podman([]string{"images"})
+ session := podmanTest.PodmanNoCache([]string{"images"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expect(len(session.OutputToStringArray())).To(Equal(4))
- session2 := podmanTest.Podman([]string{"images", "--all"})
+ session2 := podmanTest.PodmanNoCache([]string{"images", "--all"})
session2.WaitWithDefaultTimeout()
Expect(session2.ExitCode()).To(Equal(0))
Expect(len(session2.OutputToStringArray())).To(Equal(6))