mirror of
https://github.com/containers/podman.git
synced 2025-10-20 04:34:01 +08:00
Merge pull request #23632 from edsantiago/safename-610
CI: format test: make parallel-safe
This commit is contained in:
@ -7,41 +7,15 @@
|
|||||||
load helpers
|
load helpers
|
||||||
|
|
||||||
function teardown() {
|
function teardown() {
|
||||||
# In case test fails: standard teardown does not wipe machines or secrets
|
# In case test fails: clean up all the entities we created
|
||||||
run_podman '?' machine rm -f mymachine
|
run_podman '?' machine rm -f "m-$(safename)"
|
||||||
run_podman '?' secret rm mysecret
|
run_podman '?' secret rm "s-$(safename)"
|
||||||
|
run_podman '?' pod rm -f "p-$(safename)"
|
||||||
|
run_podman '?' rm -f -t0 "c-$(safename)"
|
||||||
|
|
||||||
basic_teardown
|
basic_teardown
|
||||||
}
|
}
|
||||||
|
|
||||||
# Most commands can't just be run with --format; they need an argument or
|
|
||||||
# option. This table defines what those are.
|
|
||||||
#
|
|
||||||
# FIXME: once you've finished fixing them all, remove the SKIPs (just
|
|
||||||
# remove the entire lines, except for pod-inspect, just remove the SKIP
|
|
||||||
# but leave "mypod")
|
|
||||||
extra_args_table="
|
|
||||||
history | $IMAGE
|
|
||||||
image history | $IMAGE
|
|
||||||
image inspect | $IMAGE
|
|
||||||
container inspect | mycontainer
|
|
||||||
inspect | mycontainer
|
|
||||||
|
|
||||||
|
|
||||||
volume inspect | -a
|
|
||||||
secret inspect | mysecret
|
|
||||||
network inspect | podman
|
|
||||||
ps | -a
|
|
||||||
|
|
||||||
image search | $IMAGE
|
|
||||||
search | $IMAGE
|
|
||||||
|
|
||||||
pod inspect | mypod
|
|
||||||
|
|
||||||
events | --stream=false --events-backend=file
|
|
||||||
system events | --stream=false --events-backend=file
|
|
||||||
"
|
|
||||||
|
|
||||||
# podman machine is finicky. Assume we can't run it, but see below for more.
|
# podman machine is finicky. Assume we can't run it, but see below for more.
|
||||||
can_run_podman_machine=
|
can_run_podman_machine=
|
||||||
|
|
||||||
@ -118,6 +92,12 @@ function check_subcommand() {
|
|||||||
# better error messages than just "exited with error status".
|
# better error messages than just "exited with error status".
|
||||||
run_podman '?' "$@" "$cmd" $extra --format '{{"\n"}}'
|
run_podman '?' "$@" "$cmd" $extra --format '{{"\n"}}'
|
||||||
|
|
||||||
|
# Special-case workaround for quay flakes
|
||||||
|
if [[ "$status" -ne 0 ]] && [[ "$*" =~ search ]] && [[ "$output" =~ quay.io ]]; then
|
||||||
|
echo "# Ignoring probable quay flake: $output" >&3
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
# Output must always be empty.
|
# Output must always be empty.
|
||||||
#
|
#
|
||||||
# - If you see "unterminated quoted string" here, there's a
|
# - If you see "unterminated quoted string" here, there's a
|
||||||
@ -126,7 +106,7 @@ function check_subcommand() {
|
|||||||
# - If you see any other error, it probably means that someone
|
# - If you see any other error, it probably means that someone
|
||||||
# added a new podman subcommand that supports --format but
|
# added a new podman subcommand that supports --format but
|
||||||
# needs some sort of option or argument to actually run.
|
# needs some sort of option or argument to actually run.
|
||||||
# See 'extra_args_table' at the top of this script.
|
# See 'extra_args_table' below.
|
||||||
#
|
#
|
||||||
assert "$output" = "" "$command_string --format '{{\"\n\"}}'"
|
assert "$output" = "" "$command_string --format '{{\"\n\"}}'"
|
||||||
|
|
||||||
@ -138,22 +118,53 @@ function check_subcommand() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Test entry point
|
# Test entry point
|
||||||
|
# bats test_tags=ci:parallel
|
||||||
@test "check Go template formatting" {
|
@test "check Go template formatting" {
|
||||||
skip_if_remote
|
skip_if_remote
|
||||||
|
|
||||||
|
ctrname="c-$(safename)"
|
||||||
|
podname="p-$(safename)"
|
||||||
|
secretname="s-$(safename)"
|
||||||
# Setup: some commands need a container, pod, secret, ...
|
# Setup: some commands need a container, pod, secret, ...
|
||||||
run_podman run -d --name mycontainer $IMAGE top
|
run_podman run -d --name $ctrname $IMAGE top
|
||||||
run_podman pod create mypod
|
run_podman pod create $podname
|
||||||
run_podman secret create mysecret /etc/hosts
|
run_podman secret create $secretname /etc/hosts
|
||||||
|
|
||||||
|
# Most commands can't just be run with --format; they need an argument or
|
||||||
|
# option. This table defines what those are.
|
||||||
|
extra_args_table="
|
||||||
|
history | $IMAGE
|
||||||
|
image history | $IMAGE
|
||||||
|
image inspect | $IMAGE
|
||||||
|
container inspect | $ctrname
|
||||||
|
inspect | $ctrname
|
||||||
|
|
||||||
|
|
||||||
|
volume inspect | -a
|
||||||
|
secret inspect | $secretname
|
||||||
|
network inspect | podman
|
||||||
|
ps | -a
|
||||||
|
|
||||||
|
image search | $IMAGE
|
||||||
|
search | $IMAGE
|
||||||
|
|
||||||
|
pod inspect | $podname
|
||||||
|
|
||||||
|
events | --stream=false --events-backend=file
|
||||||
|
system events | --stream=false --events-backend=file
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ...or machine. But podman machine is ultra-finicky, it fails as root
|
# ...or machine. But podman machine is ultra-finicky, it fails as root
|
||||||
# or if qemu is missing. Instead of checking for all the possible ways
|
# or if qemu is missing. Instead of checking for all the possible ways
|
||||||
# to skip it, just try running init. If it works, we can test it.
|
# to skip it, just try running init. If it works, we can test it.
|
||||||
run_podman '?' machine init --image=/dev/null mymachine
|
machinename="m-$(safename)"
|
||||||
|
run_podman '?' machine init --image=/dev/null $machinename
|
||||||
if [[ $status -eq 0 ]]; then
|
if [[ $status -eq 0 ]]; then
|
||||||
can_run_podman_machine=true
|
can_run_podman_machine=true
|
||||||
extra_args_table+="
|
extra_args_table+="
|
||||||
machine inspect | mymachine
|
machine inspect | $machinename
|
||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -177,11 +188,10 @@ stats | --no-stream
|
|||||||
check_subcommand
|
check_subcommand
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
run_podman pod rm mypod
|
run_podman pod rm $podname
|
||||||
run_podman rmi $(pause_image)
|
run_podman rm -f -t0 $ctrname
|
||||||
run_podman rm -f -t0 mycontainer
|
run_podman secret rm $secretname
|
||||||
run_podman secret rm mysecret
|
run_podman '?' machine rm -f $machinename
|
||||||
run_podman '?' machine rm -f mymachine
|
|
||||||
|
|
||||||
# Make sure there are no leftover commands in our table - this would
|
# Make sure there are no leftover commands in our table - this would
|
||||||
# indicate a typo in the table, or a flaw in our logic such that
|
# indicate a typo in the table, or a flaw in our logic such that
|
||||||
|
Reference in New Issue
Block a user