mirror of https://github.com/containers/podman.git
Merge pull request #20613 from edsantiago/doublecheck_db
systests: add a last-minute check for db backend
This commit is contained in:
commit
111b2337f9
|
@ -96,6 +96,11 @@ host.slirp4netns.executable | $expr_path
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "podman info - confirm desired database" {
|
@test "podman info - confirm desired database" {
|
||||||
|
# Always run this and preserve its value. We will check again in 999-*.bats
|
||||||
|
run_podman info --format '{{.Host.DatabaseBackend}}'
|
||||||
|
db_backend="$output"
|
||||||
|
echo "$db_backend" > $BATS_SUITE_TMPDIR/db-backend
|
||||||
|
|
||||||
if [[ -z "$CI_DESIRED_DATABASE" ]]; then
|
if [[ -z "$CI_DESIRED_DATABASE" ]]; then
|
||||||
# When running in Cirrus, CI_DESIRED_DATABASE *must* be defined
|
# When running in Cirrus, CI_DESIRED_DATABASE *must* be defined
|
||||||
# in .cirrus.yml so we can double-check that all CI VMs are
|
# in .cirrus.yml so we can double-check that all CI VMs are
|
||||||
|
@ -109,8 +114,7 @@ host.slirp4netns.executable | $expr_path
|
||||||
skip "CI_DESIRED_DATABASE is unset--OK, because we're not in Cirrus"
|
skip "CI_DESIRED_DATABASE is unset--OK, because we're not in Cirrus"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run_podman info --format '{{.Host.DatabaseBackend}}'
|
is "$db_backend" "$CI_DESIRED_DATABASE" "CI_DESIRED_DATABASE (from .cirrus.yml)"
|
||||||
is "$output" "$CI_DESIRED_DATABASE" "CI_DESIRED_DATABASE (from .cirrus.yml)"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/usr/bin/env bats
|
||||||
|
#
|
||||||
|
# Final set of tests to run.
|
||||||
|
#
|
||||||
|
|
||||||
|
load helpers
|
||||||
|
|
||||||
|
# Confirm that we're still using the same database we started with.
|
||||||
|
#
|
||||||
|
# This should never fail! If it does, it means that some test somewhere
|
||||||
|
# has run podman with --db-backend, which is known to wreak havoc.
|
||||||
|
#
|
||||||
|
# See https://github.com/containers/podman/issues/20563
|
||||||
|
@test "podman database backend has not changed" {
|
||||||
|
# File is always written in 005-info.bats. It must always exist
|
||||||
|
# by the time we get here...
|
||||||
|
db_backend_file=$BATS_SUITE_TMPDIR/db-backend
|
||||||
|
|
||||||
|
if [[ ! -e "$db_backend_file" ]]; then
|
||||||
|
# ...except in a manual run like "hack/bats 999"
|
||||||
|
if [[ $BATS_SUITE_TEST_NUMBER -le 5 ]]; then
|
||||||
|
skip "$db_backend_file missing, but this is a short manual bats run, so, ok"
|
||||||
|
fi
|
||||||
|
|
||||||
|
die "Internal error: $db_backend_file does not exist! (check 005-*.bats)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
run_podman info --format '{{.Host.DatabaseBackend}}'
|
||||||
|
assert "$output" = "$(<$db_backend_file)" ".Host.DatabaseBackend has changed!"
|
||||||
|
}
|
Loading…
Reference in New Issue