summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/buildah-bud/buildah-tests.diff16
-rw-r--r--test/e2e/manifest_test.go8
-rw-r--r--test/e2e/run_security_labels_test.go4
-rw-r--r--test/system/090-events.bats36
4 files changed, 55 insertions, 9 deletions
diff --git a/test/buildah-bud/buildah-tests.diff b/test/buildah-bud/buildah-tests.diff
index 6cda37723..fb00ddebf 100644
--- a/test/buildah-bud/buildah-tests.diff
+++ b/test/buildah-bud/buildah-tests.diff
@@ -1,22 +1,23 @@
-From a51192239fafdb59f26c9ddaab1ca9fcac2bb664 Mon Sep 17 00:00:00 2001
+From 90c93048c9f3bdedf39c3c5ce3216ee2518220b4 Mon Sep 17 00:00:00 2001
From: Ed Santiago <santiago@redhat.com>
Date: Tue, 9 Feb 2021 17:28:05 -0700
Subject: [PATCH] tweaks for running buildah tests under podman
Signed-off-by: Ed Santiago <santiago@redhat.com>
---
- tests/helpers.bash | 26 +++++++++++++++++++++++---
- 1 file changed, 23 insertions(+), 3 deletions(-)
+ tests/helpers.bash | 28 +++++++++++++++++++++++++---
+ 1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/tests/helpers.bash b/tests/helpers.bash
-index 4dc3a7dbda13..003575f48cec 100644
+index b85f99d3..1a827cd7 100644
--- a/tests/helpers.bash
+++ b/tests/helpers.bash
-@@ -140,15 +140,35 @@ function run_buildah() {
+@@ -147,15 +147,37 @@ function run_buildah() {
--retry) retry=3; shift;; # retry network flakes
esac
+ local podman_or_buildah=${BUILDAH_BINARY}
++ local registry_opts=${BUILDAH_REGISTRY_OPTS}
+ if [[ $1 == "bud" || $1 == "build-using-dockerfile" ]]; then
+ shift
+ # podman defaults to --layers=true; buildah to --false.
@@ -28,6 +29,7 @@ index 4dc3a7dbda13..003575f48cec 100644
+ set "build" "--force-rm=false" "--layers=false" "$@"
+ fi
+ podman_or_buildah=${PODMAN_BINARY}
++ registry_opts=${PODMAN_REGISTRY_OPTS}
+
+ # podman always exits 125 where buildah exits 1 or 2
+ case $expected_rc in
@@ -45,9 +47,9 @@ index 4dc3a7dbda13..003575f48cec 100644
# stdout is only emitted upon error; this echo is to help a debugger
- echo "\$ $BUILDAH_BINARY $*"
-- run timeout --foreground --kill=10 $BUILDAH_TIMEOUT ${BUILDAH_BINARY} ${REGISTRY_OPTS} ${ROOTDIR_OPTS} "$@"
+- run timeout --foreground --kill=10 $BUILDAH_TIMEOUT ${BUILDAH_BINARY} ${BUILDAH_REGISTRY_OPTS} ${ROOTDIR_OPTS} "$@"
+ echo "\$ $cmd_basename $*"
-+ run timeout --foreground --kill=10 $BUILDAH_TIMEOUT ${podman_or_buildah} --registries-conf ${TESTSDIR}/registries.conf --root ${TESTDIR}/root --runroot ${TESTDIR}/runroot --storage-driver ${STORAGE_DRIVER} "$@"
++ run timeout --foreground --kill=10 $BUILDAH_TIMEOUT ${podman_or_buildah} ${registry_opts} ${ROOTDIR_OPTS} "$@"
# without "quotes", multiple lines are glommed together into one
if [ -n "$output" ]; then
echo "$output"
diff --git a/test/e2e/manifest_test.go b/test/e2e/manifest_test.go
index 18be97a89..b2dc4f734 100644
--- a/test/e2e/manifest_test.go
+++ b/test/e2e/manifest_test.go
@@ -168,6 +168,10 @@ var _ = Describe("Podman manifest", func() {
session = podmanTest.Podman([]string{"manifest", "remove", "foo", "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Not(Equal(0)))
+
+ session = podmanTest.Podman([]string{"manifest", "rm", "foo"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
})
It("podman manifest push", func() {
@@ -250,6 +254,10 @@ var _ = Describe("Podman manifest", func() {
session = podmanTest.Podman([]string{"manifest", "inspect", "foo"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Not(Equal(0)))
+
+ session = podmanTest.Podman([]string{"manifest", "rm", "foo1", "foo2"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Not(Equal(0)))
})
It("podman manifest exists", func() {
diff --git a/test/e2e/run_security_labels_test.go b/test/e2e/run_security_labels_test.go
index b714df323..ae86bb690 100644
--- a/test/e2e/run_security_labels_test.go
+++ b/test/e2e/run_security_labels_test.go
@@ -45,7 +45,7 @@ var _ = Describe("Podman generate kube", func() {
ctr := inspect.InspectContainerToJSON()
caps := strings.Join(ctr[0].EffectiveCaps, ",")
- Expect(caps).To(Equal("CAP_SETUID,CAP_SETGID"))
+ Expect(caps).To(Equal("CAP_SETGID,CAP_SETUID"))
})
It("podman bad security labels", func() {
@@ -109,7 +109,7 @@ var _ = Describe("Podman generate kube", func() {
ctr := inspect.InspectContainerToJSON()
caps := strings.Join(ctr[0].EffectiveCaps, ",")
- Expect(caps).To(Equal("CAP_SYS_CHROOT,CAP_SETUID"))
+ Expect(caps).To(Equal("CAP_SETUID,CAP_SYS_CHROOT"))
})
diff --git a/test/system/090-events.bats b/test/system/090-events.bats
index 8a9db41fa..19bee5506 100644
--- a/test/system/090-events.bats
+++ b/test/system/090-events.bats
@@ -25,3 +25,39 @@ load helpers
run_podman events --filter type=container --filter container=$cname --filter event=start --stream=false
is "$output" "$expect" "filtering just by label"
}
+
+@test "image events" {
+ skip_if_remote "FIXME: remove events on podman-remote seem to be broken"
+ pushedDir=$PODMAN_TMPDIR/dir
+ mkdir -p $pushedDir
+
+ tarball=$PODMAN_TMPDIR/ball.tar
+
+ run_podman image inspect --format "{{.ID}}" $IMAGE
+ imageID="$output"
+
+ t0=$(date --iso-8601=seconds)
+ tag=registry.com/$(random_string 10 | tr A-Z a-z)
+
+ # Force using the file backend since the journal backend is eating events
+ # (see containers/podman/pull/10219#issuecomment-842325032).
+ run_podman --events-backend=file push $IMAGE dir:$pushedDir
+ run_podman --events-backend=file save $IMAGE -o $tarball
+ run_podman --events-backend=file load -i $tarball
+ run_podman --events-backend=file pull docker-archive:$tarball
+ run_podman --events-backend=file tag $IMAGE $tag
+ run_podman --events-backend=file untag $IMAGE $tag
+ run_podman --events-backend=file tag $IMAGE $tag
+ run_podman --events-backend=file rmi $tag
+
+ run_podman --events-backend=file events --stream=false --filter type=image --since $t0
+ is "$output" ".*image push $imageID dir:$pushedDir
+.*image save $imageID $tarball
+.*image loadfromarchive *$tarball
+.*image pull *docker-archive:$tarball
+.*image tag $imageID $tag
+.*image untag $imageID $tag:latest
+.*image tag $imageID $tag
+.*image remove $imageID $tag.*" \
+ "podman events"
+}