Skip to content

Commit

Permalink
Merge pull request #20613 from edsantiago/doublecheck_db
Browse files Browse the repository at this point in the history
systests: add a last-minute check for db backend
  • Loading branch information
openshift-merge-bot[bot] authored Nov 7, 2023
2 parents 6d2aa67 + 92cd7b2 commit 111b233
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 2 deletions.
8 changes: 6 additions & 2 deletions test/system/005-info.bats
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,11 @@ host.slirp4netns.executable | $expr_path
}

@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
# When running in Cirrus, CI_DESIRED_DATABASE *must* be defined
# in .cirrus.yml so we can double-check that all CI VMs are
Expand All @@ -109,8 +114,7 @@ host.slirp4netns.executable | $expr_path
skip "CI_DESIRED_DATABASE is unset--OK, because we're not in Cirrus"
fi

run_podman info --format '{{.Host.DatabaseBackend}}'
is "$output" "$CI_DESIRED_DATABASE" "CI_DESIRED_DATABASE (from .cirrus.yml)"
is "$db_backend" "$CI_DESIRED_DATABASE" "CI_DESIRED_DATABASE (from .cirrus.yml)"
}


Expand Down
30 changes: 30 additions & 0 deletions test/system/999-final.bats
Original file line number Diff line number Diff line change
@@ -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!"
}

1 comment on commit 111b233

@packit-as-a-service
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

podman-next COPR build failed. @containers/packit-build please check.

Please sign in to comment.