mirror of
https://github.com/ostreedev/ostree.git
synced 2025-03-06 00:58:44 +03:00
manual-tests: New static-delta-generate-crosscheck.sh
I wanted to test static deltas vs a repo with "real" content in it from Fedora Atomic.
This commit is contained in:
parent
42c60effbe
commit
f0b6b358cd
62
manual-tests/static-delta-generate-crosscheck.sh
Executable file
62
manual-tests/static-delta-generate-crosscheck.sh
Executable file
@ -0,0 +1,62 @@
|
||||
#!/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() {
|
||||
mkdir testrepo
|
||||
ostree --repo=testrepo init --mode=bare-user
|
||||
ostree --repo=testrepo remote add --set=gpg-verify=false local file://${repo}
|
||||
ostree --repo=${repo} static-delta generate $@ ${from} ${to}
|
||||
ostree --repo=testrepo pull local ${branch}@${from}
|
||||
assert_streq $(ostree --repo=testrepo rev-parse ${branch}) ${from}
|
||||
ostree --repo=testrepo pull 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user