mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-23 21:35:26 +03:00
277ce6b36d
I was running this recently to test the last delta write changes, and this helps. We should add an option to repo-init to make this easier at some point. Closes: #1356 Approved by: jlebon
63 lines
1.5 KiB
Bash
Executable File
63 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Generate multiple variants of static deltas in a repo, then use them
|
|
# to upgrade in a test repository, verifying that fsck works.
|
|
#
|
|
# This test is manual so it's easy to run against arbitrary content.
|
|
|
|
set -euo pipefail
|
|
|
|
repo=$(pwd)/${1}
|
|
shift
|
|
branch=${1}
|
|
shift
|
|
|
|
from=$(ostree --repo=${repo} rev-parse "${branch}"^)
|
|
to=$(ostree --repo=${repo} rev-parse ${branch})
|
|
|
|
tmpdir=$(mktemp -d /var/tmp/ostree-delta-check.XXXXXX)
|
|
cd ${tmpdir}
|
|
touch ${tmpdir}/.tmp
|
|
echo "Using tmpdir ${tmpdir}"
|
|
|
|
cleanup_tmpdir() {
|
|
if test -f ${tmpdir}/.tmp; then
|
|
rm -rf ${tmpdir}
|
|
fi
|
|
}
|
|
|
|
if test -z "${PRESERVE_TMP:-}"; then
|
|
trap cleanup_tmpdir EXIT
|
|
fi
|
|
|
|
fatal() {
|
|
echo "$@"
|
|
exit 1
|
|
}
|
|
|
|
assert_streq() {
|
|
if ! test $1 = $2; then
|
|
fatal "assertion failed: $1 = $2"
|
|
fi
|
|
}
|
|
|
|
validate_delta_options() {
|
|
ostree --repo=testrepo init --mode=bare-user
|
|
echo 'fsync=false' >> testrepo/config
|
|
ostree --repo=testrepo remote add --set=gpg-verify=false local file://${repo}
|
|
ostree --repo=${repo} static-delta generate $@ --from=${from} --to=${to}
|
|
ostree --repo=${repo} summary -u
|
|
ostree --repo=testrepo pull local ${branch}@${from}
|
|
assert_streq $(ostree --repo=testrepo rev-parse ${branch}) ${from}
|
|
ostree --repo=testrepo pull --require-static-deltas local ${branch}
|
|
assert_streq $(ostree --repo=testrepo rev-parse ${branch}) ${to}
|
|
ostree --repo=testrepo fsck
|
|
rm testrepo -rf
|
|
}
|
|
|
|
set -x
|
|
|
|
validate_delta_options
|
|
validate_delta_options --inline
|
|
validate_delta_options --disable-bsdiff
|