summaryrefslogtreecommitdiff
path: root/test/system/030-run.bats
diff options
context:
space:
mode:
Diffstat (limited to 'test/system/030-run.bats')
-rw-r--r--test/system/030-run.bats70
1 files changed, 37 insertions, 33 deletions
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index 3ee141f5f..29dc95dc3 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -401,7 +401,7 @@ json-file | f
is "$output" "$driver" "podman inspect: driver"
# If LogPath is non-null, check that it exists and has a valid log
- run_podman inspect --format '{{.LogPath}}' myctr
+ run_podman inspect --format '{{.HostConfig.LogConfig.Path}}' myctr
if [[ $do_check != '-' ]]; then
is "$output" "/.*" "LogPath (driver=$driver)"
if ! test -e "$output"; then
@@ -415,13 +415,18 @@ json-file | f
fi
if [[ $driver != 'none' ]]; then
- run_podman logs myctr
- is "$output" "$msg" "check that podman logs works as expected"
+ if [[ $driver = 'journald' ]] && journald_unavailable; then
+ # Cannot perform check
+ :
+ else
+ run_podman logs myctr
+ is "$output" "$msg" "podman logs, with driver '$driver'"
+ fi
else
run_podman 125 logs myctr
if ! is_remote; then
is "$output" ".*this container is using the 'none' log driver, cannot read logs.*" \
- "podman logs does not work with none log driver"
+ "podman logs, with driver 'none', should fail with error"
fi
fi
run_podman rm myctr
@@ -437,14 +442,7 @@ json-file | f
skip_if_remote "We cannot read journalctl over remote."
# We can't use journald on RHEL as rootless, either: rhbz#1895105
- if is_rootless; then
- run journalctl -n 1
- if [[ $status -ne 0 ]]; then
- if [[ $output =~ permission ]]; then
- skip "Cannot use rootless journald on this system"
- fi
- fi
- fi
+ skip_if_journald_unavailable
msg=$(random_string 20)
pidfile="${PODMAN_TMPDIR}/$(random_string 20)"
@@ -550,27 +548,33 @@ json-file | f
}
@test "Verify /run/.containerenv exist" {
- run_podman run --rm $IMAGE ls -1 /run/.containerenv
- is "$output" "/run/.containerenv"
-
- run_podman run --privileged --rm $IMAGE sh -c '. /run/.containerenv; echo $engine'
- is "$output" ".*podman.*" "failed to identify engine"
-
- run_podman run --privileged --name "testcontainerenv" --rm $IMAGE sh -c '. /run/.containerenv; echo $name'
- is "$output" ".*testcontainerenv.*"
-
- run_podman run --privileged --rm $IMAGE sh -c '. /run/.containerenv; echo $image'
- is "$output" ".*$IMAGE.*" "failed to idenitfy image"
-
- run_podman run --privileged --rm $IMAGE sh -c '. /run/.containerenv; echo $rootless'
- # FIXME: on some CI systems, 'run --privileged' emits a spurious
- # warning line about dup devices. Ignore it.
- remove_same_dev_warning
- if is_rootless; then
- is "$output" "1"
- else
- is "$output" "0"
- fi
+ # Nonprivileged container: file exists, but must be empty
+ run_podman run --rm $IMAGE stat -c '%s' /run/.containerenv
+ is "$output" "0" "file size of /run/.containerenv, nonprivileged"
+
+ # Prep work: get ID of image; make a cont. name; determine if we're rootless
+ run_podman inspect --format '{{.ID}}' $IMAGE
+ local iid="$output"
+
+ random_cname=c$(random_string 15 | tr A-Z a-z)
+ local rootless=0
+ if is_rootless; then
+ rootless=1
+ fi
+
+ run_podman run --privileged --rm --name $random_cname $IMAGE \
+ sh -c '. /run/.containerenv; echo $engine; echo $name; echo $image; echo $id; echo $imageid; echo $rootless'
+
+ # FIXME: on some CI systems, 'run --privileged' emits a spurious
+ # warning line about dup devices. Ignore it.
+ remove_same_dev_warning
+
+ is "${lines[0]}" "podman-.*" 'containerenv : $engine'
+ is "${lines[1]}" "$random_cname" 'containerenv : $name'
+ is "${lines[2]}" "$IMAGE" 'containerenv : $image'
+ is "${lines[3]}" "[0-9a-f]\{64\}" 'containerenv : $id'
+ is "${lines[4]}" "$iid" 'containerenv : $imageid'
+ is "${lines[5]}" "$rootless" 'containerenv : $rootless'
}
@test "podman run with --net=host and --port prints warning" {