mirror of
https://github.com/containers/podman.git
synced 2025-06-23 18:59:30 +08:00
Merge pull request #7238 from edsantiago/bats
system tests: podman-remote, image tree
This commit is contained in:
@ -31,6 +31,37 @@ function setup() {
|
||||
run_podman pull $IMAGE
|
||||
}
|
||||
|
||||
# PR #7212: allow --remote anywhere before subcommand, not just as 1st flag
|
||||
@test "podman-remote : really is remote, works as --remote option" {
|
||||
if ! is_remote; then
|
||||
skip "only applicable on podman-remote"
|
||||
fi
|
||||
|
||||
# First things first: make sure our podman-remote actually is remote!
|
||||
run_podman version
|
||||
is "$output" ".*Server:" "the given podman path really contacts a server"
|
||||
|
||||
# $PODMAN may be a space-separated string, e.g. if we include a --url.
|
||||
# Split it into its components; remove "-remote" from the command path;
|
||||
# and preserve any other args if present.
|
||||
local -a podman_as_array=($PODMAN)
|
||||
local podman_path=${podman_as_array[0]}
|
||||
local podman_non_remote=${podman_path%%-remote}
|
||||
local -a podman_args=("${podman_as_array[@]:1}")
|
||||
|
||||
# This always worked: running "podman --remote ..."
|
||||
PODMAN="${podman_non_remote} --remote ${podman_args[@]}" run_podman version
|
||||
is "$output" ".*Server:" "podman --remote: contacts server"
|
||||
|
||||
# This was failing: "podman --foo --bar --remote".
|
||||
PODMAN="${podman_non_remote} --tmpdir /var/tmp --log-level=error ${podman_args[@]} --remote" run_podman version
|
||||
is "$output" ".*Server:" "podman [flags] --remote: contacts server"
|
||||
|
||||
# ...but no matter what, --remote is never allowed after subcommand
|
||||
PODMAN="${podman_non_remote} ${podman_args[@]}" run_podman 125 version --remote
|
||||
is "$output" "Error: unknown flag: --remote" "podman version --remote"
|
||||
}
|
||||
|
||||
# This is for development only; it's intended to make sure our timeout
|
||||
# in run_podman continues to work. This test should never run in production
|
||||
# because it will, by definition, fail.
|
||||
|
@ -165,6 +165,7 @@ EOF
|
||||
# cd to the dir, so we test relative paths (important for podman-remote)
|
||||
cd $PODMAN_TMPDIR
|
||||
run_podman build -t build_test -f build-test/Containerfile build-test
|
||||
local iid="${lines[-1]}"
|
||||
|
||||
# Run without args - should run the above script. Verify its output.
|
||||
export MYENV2="$s_env2"
|
||||
@ -232,6 +233,22 @@ Labels.$label_name | $label_value
|
||||
run_podman run --rm build_test stat -c'%u:%g:%N' /a/b/c/myfile
|
||||
is "$output" "4:5:/a/b/c/myfile" "file in volume is chowned"
|
||||
|
||||
# Hey, as long as we have an image with lots of layers, let's
|
||||
# confirm that 'image tree' works as expected
|
||||
run_podman image tree build_test
|
||||
is "${lines[0]}" "Image ID: ${iid:0:12}" \
|
||||
"image tree: first line"
|
||||
is "${lines[1]}" "Tags: \[localhost/build_test:latest]" \
|
||||
"image tree: second line"
|
||||
is "${lines[2]}" "Size: [0-9.]\+[kM]B" \
|
||||
"image tree: third line"
|
||||
is "${lines[3]}" "Image Layers" \
|
||||
"image tree: fourth line"
|
||||
is "${lines[4]}" "... ID: [0-9a-f]\{12\} Size: .* Top Layer of: \[$IMAGE]" \
|
||||
"image tree: first layer line"
|
||||
is "${lines[-1]}" "... ID: [0-9a-f]\{12\} Size: .* Top Layer of: \[localhost/build_test:latest]" \
|
||||
"image tree: last layer line"
|
||||
|
||||
# Clean up
|
||||
run_podman rmi -f build_test
|
||||
}
|
||||
|
@ -6,6 +6,8 @@
|
||||
load helpers
|
||||
|
||||
@test "podman exec - basic test" {
|
||||
skip_if_remote "FIXME: pending #7241"
|
||||
|
||||
rand_filename=$(random_string 20)
|
||||
rand_content=$(random_string 50)
|
||||
|
||||
|
Reference in New Issue
Block a user