summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/apiv2/12-imagesMore.at5
-rw-r--r--test/apiv2/15-manifest.at2
-rwxr-xr-xtest/buildah-bud/apply-podman-deltas4
-rw-r--r--test/e2e/benchmarks_test.go8
-rw-r--r--test/e2e/checkpoint_test.go5
-rw-r--r--test/e2e/common_test.go8
-rw-r--r--test/e2e/containers_conf_test.go3
-rw-r--r--test/e2e/libpod_suite_remote_test.go7
-rw-r--r--test/e2e/manifest_test.go3
-rw-r--r--test/e2e/pod_infra_container_test.go16
-rw-r--r--test/e2e/run_test.go17
-rw-r--r--test/system/030-run.bats15
-rw-r--r--test/system/520-checkpoint.bats2
-rw-r--r--test/utils/utils.go3
14 files changed, 58 insertions, 40 deletions
diff --git a/test/apiv2/12-imagesMore.at b/test/apiv2/12-imagesMore.at
index d4b09174f..498d67569 100644
--- a/test/apiv2/12-imagesMore.at
+++ b/test/apiv2/12-imagesMore.at
@@ -28,7 +28,10 @@ t GET libpod/images/$IMAGE/json 200 \
.RepoTags[1]=localhost:$REGISTRY_PORT/myrepo:mytag
# Push to local registry...
-t POST "images/localhost:$REGISTRY_PORT/myrepo/push?tlsVerify=false&tag=mytag" 200
+t POST "images/localhost:$REGISTRY_PORT/myrepo/push?tag=mytag" 200 \
+ .error~".*x509: certificate signed by unknown authority"
+t POST "images/localhost:$REGISTRY_PORT/myrepo/push?tlsVerify=false&tag=mytag" 200 \
+ .error~null
# ...and check output. We can't use our built-in checks because this output
# is a sequence of JSON objects, i.e., individual ones, not in a JSON array.
diff --git a/test/apiv2/15-manifest.at b/test/apiv2/15-manifest.at
index 970bed5a8..6584ea8e4 100644
--- a/test/apiv2/15-manifest.at
+++ b/test/apiv2/15-manifest.at
@@ -31,6 +31,8 @@ t POST /v3.4.0/libpod/manifests/$id_abc/add images="[\"containers-storage:$id_ab
t PUT /v4.0.0/libpod/manifests/$id_xyz operation='update' images="[\"containers-storage:$id_xyz_image\"]" 200
t POST "/v3.4.0/libpod/manifests/abc:latest/push?destination=localhost:$REGISTRY_PORT%2Fabc:latest&tlsVerify=false&all=true" 200
+t POST "/v4.0.0/libpod/manifests/xyz:latest/registry/localhost:$REGISTRY_PORT%2Fxyz:latest?all=true" 400 \
+ .cause='x509: certificate signed by unknown authority'
t POST "/v4.0.0/libpod/manifests/xyz:latest/registry/localhost:$REGISTRY_PORT%2Fxyz:latest?tlsVerify=false&all=true" 200
# /v3.x cannot delete a manifest list
diff --git a/test/buildah-bud/apply-podman-deltas b/test/buildah-bud/apply-podman-deltas
index d6d539fa4..6578afc93 100755
--- a/test/buildah-bud/apply-podman-deltas
+++ b/test/buildah-bud/apply-podman-deltas
@@ -163,7 +163,7 @@ skip "does not work under podman" \
# which we could and perhaps should fix in the buildah repo via:
# - ... ${TESTSDIR}/bud/layers-squash/Dockerfile.hardlinks
# + ... -f Dockerfile.hardlinks ${TESTSDIR}/bud/layers-squash
-skip "FIXME FIXME FIXME: argument-order incompatible with podman" \
+skip "argument-order incompatible with podman" \
"bud-squash-hardlinks"
# Fails with "Error: context must be a directory: /path/to/Dockerfile"
@@ -231,7 +231,7 @@ skip_if_remote "FIXME FIXME FIXME: does this test make sense in remote?" \
###############################################################################
# BEGIN tests which are skipped due to actual podman or podman-remote bugs.
-skip_if_remote "Podman #12838: different error messages" \
+skip_if_remote "different error messages between podman & podman-remote" \
"bud with .dockerignore #2"
# These two tests, new in 2022-01, invoke podman (create, export) in ways
diff --git a/test/e2e/benchmarks_test.go b/test/e2e/benchmarks_test.go
index fe045b97a..4be048de2 100644
--- a/test/e2e/benchmarks_test.go
+++ b/test/e2e/benchmarks_test.go
@@ -240,7 +240,7 @@ var _ = Describe("Podman Benchmark Suite", func() {
// --------------------------------------------------------------------------
newBenchmark("podman create", func() {
- session := podmanTest.Podman([]string{"run", ALPINE, "true"})
+ session := podmanTest.Podman([]string{"create", ALPINE, "true"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
}, nil)
@@ -262,5 +262,11 @@ var _ = Describe("Podman Benchmark Suite", func() {
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
}, nil)
+
+ newBenchmark("podman run --detach", func() {
+ session := podmanTest.Podman([]string{"run", "--detach", ALPINE, "true"})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+ }, nil)
})
})
diff --git a/test/e2e/checkpoint_test.go b/test/e2e/checkpoint_test.go
index a4646b6d1..d1771f336 100644
--- a/test/e2e/checkpoint_test.go
+++ b/test/e2e/checkpoint_test.go
@@ -1457,11 +1457,6 @@ var _ = Describe("Podman checkpoint", func() {
})
It("podman checkpoint and restore container with --file-locks", func() {
- if !strings.Contains(podmanTest.OCIRuntime, "runc") {
- // TODO: Enable test for crun when this feature has been released
- // https://github.com/containers/crun/pull/783
- Skip("FIXME: requires crun >= 1.4")
- }
localRunString := getRunString([]string{"--name", "test_name", ALPINE, "flock", "test.lock", "sleep", "100"})
session := podmanTest.Podman(localRunString)
session.WaitWithDefaultTimeout()
diff --git a/test/e2e/common_test.go b/test/e2e/common_test.go
index 43367cf63..2d7c47a7f 100644
--- a/test/e2e/common_test.go
+++ b/test/e2e/common_test.go
@@ -856,12 +856,8 @@ func (p *PodmanTestIntegration) makeOptions(args []string, noEvents, noCache boo
eventsType = "none"
}
- podmanOptions := strings.Split(fmt.Sprintf("%s--root %s --runroot %s --runtime %s --conmon %s --network-config-dir %s --cgroup-manager %s --tmpdir %s --events-backend %s",
- debug, p.Root, p.RunRoot, p.OCIRuntime, p.ConmonBinary, p.NetworkConfigDir, p.CgroupManager, p.TmpDir, eventsType), " ")
-
- if !p.RemoteTest {
- podmanOptions = append(podmanOptions, "--network-backend", p.NetworkBackend.ToString())
- }
+ podmanOptions := strings.Split(fmt.Sprintf("%s--root %s --runroot %s --runtime %s --conmon %s --network-config-dir %s --network-backend %s --cgroup-manager %s --tmpdir %s --events-backend %s",
+ debug, p.Root, p.RunRoot, p.OCIRuntime, p.ConmonBinary, p.NetworkConfigDir, p.NetworkBackend.ToString(), p.CgroupManager, p.TmpDir, eventsType), " ")
podmanOptions = append(podmanOptions, strings.Split(p.StorageOptions, " ")...)
if !noCache {
diff --git a/test/e2e/containers_conf_test.go b/test/e2e/containers_conf_test.go
index 819efa628..41e78ce0e 100644
--- a/test/e2e/containers_conf_test.go
+++ b/test/e2e/containers_conf_test.go
@@ -535,7 +535,8 @@ var _ = Describe("Verify podman containers.conf usage", func() {
It("podman containers.conf cgroups=disabled", func() {
if !strings.Contains(podmanTest.OCIRuntime, "crun") {
- Skip("FIXME: requires crun")
+ // Assume this will never be fixed in runc
+ Skip("NoCgroups requires crun")
}
conffile := filepath.Join(podmanTest.TempDir, "container.conf")
diff --git a/test/e2e/libpod_suite_remote_test.go b/test/e2e/libpod_suite_remote_test.go
index 19affbc6d..86be17eb3 100644
--- a/test/e2e/libpod_suite_remote_test.go
+++ b/test/e2e/libpod_suite_remote_test.go
@@ -136,11 +136,8 @@ func (p *PodmanTestIntegration) StopRemoteService() {
// MakeOptions assembles all the podman main options
func getRemoteOptions(p *PodmanTestIntegration, args []string) []string {
networkDir := p.NetworkConfigDir
- podmanOptions := strings.Split(fmt.Sprintf("--root %s --runroot %s --runtime %s --conmon %s --network-config-dir %s --cgroup-manager %s",
- p.Root, p.RunRoot, p.OCIRuntime, p.ConmonBinary, networkDir, p.CgroupManager), " ")
- if p.NetworkBackend.ToString() == "netavark" {
- podmanOptions = append(podmanOptions, "--network-backend", "netavark")
- }
+ podmanOptions := strings.Split(fmt.Sprintf("--root %s --runroot %s --runtime %s --conmon %s --network-config-dir %s --network-backend %s --cgroup-manager %s",
+ p.Root, p.RunRoot, p.OCIRuntime, p.ConmonBinary, networkDir, p.NetworkBackend.ToString(), p.CgroupManager), " ")
podmanOptions = append(podmanOptions, strings.Split(p.StorageOptions, " ")...)
podmanOptions = append(podmanOptions, args...)
return podmanOptions
diff --git a/test/e2e/manifest_test.go b/test/e2e/manifest_test.go
index ecddf2935..1f58419a1 100644
--- a/test/e2e/manifest_test.go
+++ b/test/e2e/manifest_test.go
@@ -293,9 +293,6 @@ var _ = Describe("Podman manifest", func() {
})
It("authenticated push", func() {
- if podmanTest.Host.Distribution == "ubuntu" && IsRemote() {
- Skip("FIXME: #15017. Registry times out.")
- }
registryOptions := &podmanRegistry.Options{
Image: "docker-archive:" + imageTarPath(REGISTRY_IMAGE),
}
diff --git a/test/e2e/pod_infra_container_test.go b/test/e2e/pod_infra_container_test.go
index a2e090524..b53630156 100644
--- a/test/e2e/pod_infra_container_test.go
+++ b/test/e2e/pod_infra_container_test.go
@@ -435,4 +435,20 @@ var _ = Describe("Podman pod create", func() {
Expect(session).Should(Exit(0))
Expect(session.OutputToString()).To(ContainSubstring(hostname))
})
+
+ tests := []string{"", "none"}
+ for _, test := range tests {
+ test := test
+ It("podman pod create --share="+test+" should not create an infra ctr", func() {
+ session := podmanTest.Podman([]string{"pod", "create", "--share", test})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+
+ session = podmanTest.Podman([]string{"pod", "inspect", "--format", "{{.NumContainers}}", session.OutputToString()})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+ Expect(session.OutputToString()).Should((Equal("0")))
+ })
+ }
+
})
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index 64b70f1ee..c7a0b3f2b 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -715,9 +715,7 @@ USER bin`, BB)
})
It("podman run device-read-bps test", func() {
- SkipIfCgroupV1("FIXME: #15035 - bps broken")
- SkipIfRootless("FIXME: requested cgroup controller `io` is not available")
- SkipIfRootlessCgroupsV1("Setting device-read-bps not supported on cgroupv1 for rootless users")
+ SkipIfRootless("Setting device-read-bps not supported for rootless users")
var session *PodmanSessionIntegration
@@ -735,9 +733,7 @@ USER bin`, BB)
})
It("podman run device-write-bps test", func() {
- SkipIfCgroupV1("FIXME: #15035 - bps broken")
- SkipIfRootless("FIXME: requested cgroup controller `io` is not available")
- SkipIfRootlessCgroupsV1("Setting device-write-bps not supported on cgroupv1 for rootless users")
+ SkipIfRootless("Setting device-write-bps not supported for rootless users")
var session *PodmanSessionIntegration
@@ -754,9 +750,7 @@ USER bin`, BB)
})
It("podman run device-read-iops test", func() {
- SkipIfCgroupV1("FIXME: #15035 - bps broken")
- SkipIfRootless("FIXME: requested cgroup controller `io` is not available")
- SkipIfRootlessCgroupsV1("Setting device-read-iops not supported on cgroupv1 for rootless users")
+ SkipIfRootless("Setting device-read-iops not supported for rootless users")
var session *PodmanSessionIntegration
if CGROUPSV2 {
@@ -773,9 +767,7 @@ USER bin`, BB)
})
It("podman run device-write-iops test", func() {
- SkipIfCgroupV1("FIXME: #15035 - bps broken")
- SkipIfRootless("FIXME: requested cgroup controller `io` is not available")
- SkipIfRootlessCgroupsV1("Setting device-write-iops not supported on cgroupv1 for rootless users")
+ SkipIfRootless("Setting device-write-iops not supported for rootless users")
var session *PodmanSessionIntegration
if CGROUPSV2 {
@@ -1243,6 +1235,7 @@ USER mail`, BB)
})
It("podman run --mount type=bind,bind-nonrecursive", func() {
+ // crun: mount `/` to `/host`: Invalid argument
SkipIfRootless("FIXME: rootless users are not allowed to mount bind-nonrecursive (Could this be a Kernel bug?")
session := podmanTest.Podman([]string{"run", "--mount", "type=bind,bind-nonrecursive,slave,src=/,target=/host", fedoraMinimal, "findmnt", "-nR", "/host"})
session.WaitWithDefaultTimeout()
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index e62e7679f..5014ef47b 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -855,4 +855,19 @@ EOF
run_podman rm $output
}
+@test "podman run --device-read-bps" {
+ skip_if_rootless "cannot use this flag in rootless mode"
+ # this test is a triple check on blkio flags since they seem to sneak by the tests
+ if is_cgroupsv2; then
+ run_podman run -dt --device-read-bps=/dev/zero:1M $IMAGE top
+ run_podman exec -it $output cat /sys/fs/cgroup/io.max
+ is "$output" ".*1:5 rbps=1048576 wbps=max riops=max wiops=max" "throttle devices passed successfully.*"
+ else
+ run_podman run -dt --device-read-bps=/dev/zero:1M $IMAGE top
+ run_podman exec -it $output cat /sys/fs/cgroup/blkio/blkio.throttle.read_bps_device
+ is "$output" ".*1:5 1048576" "throttle devices passed successfully.*"
+ fi
+ run_podman container rm -fa
+}
+
# vim: filetype=sh
diff --git a/test/system/520-checkpoint.bats b/test/system/520-checkpoint.bats
index 7f60f01b3..7c8fc143a 100644
--- a/test/system/520-checkpoint.bats
+++ b/test/system/520-checkpoint.bats
@@ -12,7 +12,7 @@ function setup() {
# could run to see if it's fixed, but it's way too complicated. Since
# integration tests also skip checkpoint tests on Ubuntu, do the same here.
if is_ubuntu; then
- skip "FIXME: checkpointing broken in Ubuntu 2004, 2104, 2110, ..."
+ skip "FIXME: checkpointing broken in Ubuntu 2004, 2104, 2110, 2204, ..."
fi
# None of these tests work rootless....
diff --git a/test/utils/utils.go b/test/utils/utils.go
index e84b57cc6..9c2a63c81 100644
--- a/test/utils/utils.go
+++ b/test/utils/utils.go
@@ -110,9 +110,6 @@ func (p *PodmanTest) PodmanAsUserBase(args []string, uid, gid uint32, cwd string
}
runCmd := wrapper
runCmd = append(runCmd, podmanBinary)
- if !p.RemoteTest && p.NetworkBackend == Netavark {
- runCmd = append(runCmd, []string{"--network-backend", "netavark"}...)
- }
if env == nil {
fmt.Printf("Running: %s %s\n", strings.Join(runCmd, " "), strings.Join(podmanOptions, " "))