diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2020-11-12 16:28:17 -0500 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2020-11-13 03:54:08 -0500 |
commit | c69565d83c30c115330977aab5ff1d9c292f31bf (patch) | |
tree | ee6df2798126247d798357b9fd588c4d076f662d | |
parent | b2d281afcc36a54bc168c3d1c16416e06966c4b3 (diff) | |
download | podman-c69565d83c30c115330977aab5ff1d9c292f31bf.tar.gz podman-c69565d83c30c115330977aab5ff1d9c292f31bf.tar.bz2 podman-c69565d83c30c115330977aab5ff1d9c292f31bf.zip |
test for buildah version in container images.
Check to see if we are recording the version of buildah
used to build the image as a label in the image.
Also we should make sure the filter "since" works.
We are only testing "after", which we don't document.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
-rw-r--r-- | test/e2e/build_test.go | 13 | ||||
-rw-r--r-- | test/e2e/images_test.go | 4 | ||||
-rw-r--r-- | test/system/070-build.bats | 6 |
3 files changed, 21 insertions, 2 deletions
diff --git a/test/e2e/build_test.go b/test/e2e/build_test.go index ea15e2b8d..87db5a126 100644 --- a/test/e2e/build_test.go +++ b/test/e2e/build_test.go @@ -7,6 +7,7 @@ import ( "runtime" "strings" + "github.com/containers/buildah" . "github.com/containers/podman/v2/test/utils" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -239,4 +240,16 @@ RUN printenv http_proxy` Expect(ok).To(BeTrue()) os.Unsetenv("http_proxy") }) + + It("podman build and check identity", func() { + session := podmanTest.Podman([]string{"build", "-f", "Containerfile.path", "--no-cache", "-t", "test", "build/basicalpine"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + + // Verify that OS and Arch are being set + inspect := podmanTest.PodmanNoCache([]string{"image", "inspect", "--format", "{{ index .Config.Labels }}", "test"}) + inspect.WaitWithDefaultTimeout() + data := inspect.OutputToString() + Expect(data).To(ContainSubstring(buildah.Version)) + }) }) diff --git a/test/e2e/images_test.go b/test/e2e/images_test.go index b42061c20..96eccdc28 100644 --- a/test/e2e/images_test.go +++ b/test/e2e/images_test.go @@ -198,7 +198,7 @@ WORKDIR /test Expect(result.OutputToString()).To(Equal("/test")) }) - It("podman images filter after image", func() { + It("podman images filter since image", func() { podmanTest.RestoreAllArtifacts() rmi := podmanTest.PodmanNoCache([]string{"rmi", "busybox"}) rmi.WaitWithDefaultTimeout() @@ -207,7 +207,7 @@ WORKDIR /test dockerfile := `FROM quay.io/libpod/alpine:latest ` podmanTest.BuildImage(dockerfile, "foobar.com/before:latest", "false") - result := podmanTest.PodmanNoCache([]string{"images", "-q", "-f", "after=quay.io/libpod/alpine:latest"}) + result := podmanTest.PodmanNoCache([]string{"images", "-q", "-f", "since=quay.io/libpod/alpine:latest"}) result.WaitWithDefaultTimeout() Expect(result).Should(Exit(0)) Expect(len(result.OutputToStringArray())).To(Equal(0)) diff --git a/test/system/070-build.bats b/test/system/070-build.bats index 0741357ed..064cad965 100644 --- a/test/system/070-build.bats +++ b/test/system/070-build.bats @@ -221,6 +221,11 @@ EOF run_podman run --rm build_test pwd is "$output" "$workdir" "pwd command in container" + # Determine buildah version, so we can confirm it gets into Labels + run_podman info --format '{{ .Host.BuildahVersion }}' + is "$output" "[1-9][0-9.-]\+" ".Host.BuildahVersion is reasonable" + buildah_version=$output + # Confirm that 'podman inspect' shows the expected values # FIXME: can we rely on .Env[0] being PATH, and the rest being in order?? run_podman image inspect build_test @@ -239,6 +244,7 @@ Cmd[0] | /bin/mydefaultcmd Cmd[1] | $s_echo WorkingDir | $workdir Labels.$label_name | $label_value +Labels.\"io.buildah.version\" | $buildah_version " parse_table "$tests" | while read field expect; do |