tests/gpg: fix GPG-dependent shell tests if no GPG support
Skip tests or run them without GPG-related functionality if GPGME wasn't enabled in a build time. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com> Closes: #1889 Approved by: cgwalters
This commit is contained in:
parent
453ce83379
commit
3767d87107
|
|
@ -54,7 +54,12 @@ function verify_initial_contents() {
|
||||||
assert_file_has_content baz/cow '^moo$'
|
assert_file_has_content baz/cow '^moo$'
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "1..34"
|
if has_gpgme; then
|
||||||
|
echo "1..34"
|
||||||
|
else
|
||||||
|
# 3 tests needs GPG support
|
||||||
|
echo "1..31"
|
||||||
|
fi
|
||||||
|
|
||||||
# Try both syntaxes
|
# Try both syntaxes
|
||||||
repo_init --no-gpg-verify
|
repo_init --no-gpg-verify
|
||||||
|
|
@ -543,13 +548,15 @@ fi
|
||||||
assert_file_has_content err.txt "404"
|
assert_file_has_content err.txt "404"
|
||||||
echo "ok pull repo 404"
|
echo "ok pull repo 404"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
if has_gpgme; then
|
||||||
repo_init --set=gpg-verify=true
|
cd ${test_tmpdir}
|
||||||
if ${CMD_PREFIX} ostree --repo=repo --depth=0 pull origin main 2>err.txt; then
|
repo_init --set=gpg-verify=true
|
||||||
assert_not_reached "pull repo 404 succeeded?"
|
if ${CMD_PREFIX} ostree --repo=repo --depth=0 pull origin main 2>err.txt; then
|
||||||
|
assert_not_reached "pull repo 404 succeeded?"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt "GPG verification enabled, but no signatures found"
|
||||||
|
echo "ok pull repo 404 (gpg)"
|
||||||
fi
|
fi
|
||||||
assert_file_has_content err.txt "GPG verification enabled, but no signatures found"
|
|
||||||
echo "ok pull repo 404 (gpg)"
|
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
find ostree-srv/gnomerepo/objects -name '*.dirtree' | while read f; do mv ${f}{,.orig}; done
|
find ostree-srv/gnomerepo/objects -name '*.dirtree' | while read f; do mv ${f}{,.orig}; done
|
||||||
|
|
@ -561,29 +568,31 @@ assert_file_has_content err.txt "404"
|
||||||
find ostree-srv/gnomerepo/objects -name '*.dirtree.orig' | while read f; do mv ${f} $(dirname $f)/$(basename ${f} .orig); done
|
find ostree-srv/gnomerepo/objects -name '*.dirtree.orig' | while read f; do mv ${f} $(dirname $f)/$(basename ${f} .orig); done
|
||||||
echo "ok pull repo 404 on dirtree object"
|
echo "ok pull repo 404 on dirtree object"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
if has_gpgme; then
|
||||||
repo_init --set=gpg-verify=true
|
cd ${test_tmpdir}
|
||||||
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} \
|
repo_init --set=gpg-verify=true
|
||||||
--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1} -b main \
|
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo commit ${COMMIT_ARGS} \
|
||||||
-s "A signed commit" --tree=ref=main
|
--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1} -b main \
|
||||||
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
|
-s "A signed commit" --tree=ref=main
|
||||||
# make sure gpg verification is correctly on
|
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo summary -u
|
||||||
csum=$(${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo rev-parse main)
|
# make sure gpg verification is correctly on
|
||||||
objpath=objects/${csum::2}/${csum:2}.commitmeta
|
csum=$(${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo rev-parse main)
|
||||||
remotesig=ostree-srv/gnomerepo/$objpath
|
objpath=objects/${csum::2}/${csum:2}.commitmeta
|
||||||
localsig=repo/$objpath
|
remotesig=ostree-srv/gnomerepo/$objpath
|
||||||
mv $remotesig $remotesig.bak
|
localsig=repo/$objpath
|
||||||
if ${CMD_PREFIX} ostree --repo=repo --depth=0 pull origin main; then
|
mv $remotesig $remotesig.bak
|
||||||
assert_not_reached "pull with gpg-verify unexpectedly succeeded?"
|
if ${CMD_PREFIX} ostree --repo=repo --depth=0 pull origin main; then
|
||||||
|
assert_not_reached "pull with gpg-verify unexpectedly succeeded?"
|
||||||
|
fi
|
||||||
|
# ok now check that we can pull correctly
|
||||||
|
mv $remotesig.bak $remotesig
|
||||||
|
${CMD_PREFIX} ostree --repo=repo pull origin main
|
||||||
|
echo "ok pull signed commit"
|
||||||
|
rm $localsig
|
||||||
|
${CMD_PREFIX} ostree --repo=repo pull origin main
|
||||||
|
test -f $localsig
|
||||||
|
echo "ok re-pull signature for stored commit"
|
||||||
fi
|
fi
|
||||||
# ok now check that we can pull correctly
|
|
||||||
mv $remotesig.bak $remotesig
|
|
||||||
${CMD_PREFIX} ostree --repo=repo pull origin main
|
|
||||||
echo "ok pull signed commit"
|
|
||||||
rm $localsig
|
|
||||||
${CMD_PREFIX} ostree --repo=repo pull origin main
|
|
||||||
test -f $localsig
|
|
||||||
echo "ok re-pull signature for stored commit"
|
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
repo_init --no-gpg-verify
|
repo_init --no-gpg-verify
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,8 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
|
skip_without_gpgme
|
||||||
|
|
||||||
echo "1..5"
|
echo "1..5"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
|
skip_without_gpgme
|
||||||
|
|
||||||
echo '1..1'
|
echo '1..1'
|
||||||
|
|
||||||
# Create two upstream collection repositories with some example commits
|
# Create two upstream collection repositories with some example commits
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,12 @@ unset OSTREE_GPG_HOME
|
||||||
|
|
||||||
skip_without_user_xattrs
|
skip_without_user_xattrs
|
||||||
|
|
||||||
echo "1..8"
|
if has_gpgme; then
|
||||||
|
echo "1..8"
|
||||||
|
else
|
||||||
|
# Only some tests doesn't need GPG support
|
||||||
|
echo "1..5"
|
||||||
|
fi
|
||||||
|
|
||||||
setup_test_repository "archive"
|
setup_test_repository "archive"
|
||||||
echo "ok setup"
|
echo "ok setup"
|
||||||
|
|
@ -63,6 +68,20 @@ cmp checkout1.files checkout2.files
|
||||||
cmp checkout1.files checkout3.files
|
cmp checkout1.files checkout3.files
|
||||||
echo "ok checkouts same"
|
echo "ok checkouts same"
|
||||||
|
|
||||||
|
mkdir repo7
|
||||||
|
ostree_repo_init repo7 --mode="archive"
|
||||||
|
${CMD_PREFIX} ostree --repo=repo7 pull-local repo
|
||||||
|
${CMD_PREFIX} ostree --repo=repo7 fsck
|
||||||
|
for src_object in `find repo/objects -name '*.filez'`; do
|
||||||
|
dst_object=${src_object/repo/repo7}
|
||||||
|
assert_files_hardlinked "$src_object" "$dst_object"
|
||||||
|
done
|
||||||
|
echo "ok pull-local z2 to z2 default hardlink"
|
||||||
|
|
||||||
|
if ! has_gpgme; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir repo4
|
mkdir repo4
|
||||||
ostree_repo_init repo4 --mode="archive"
|
ostree_repo_init repo4 --mode="archive"
|
||||||
${CMD_PREFIX} ostree --repo=repo4 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo
|
${CMD_PREFIX} ostree --repo=repo4 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo
|
||||||
|
|
@ -97,13 +116,3 @@ ${OSTREE} summary --update --gpg-sign=${TEST_GPG_KEYID_1} --gpg-homedir=${TEST_G
|
||||||
${CMD_PREFIX} ostree --repo=repo6 pull-local --remote=origin --gpg-verify-summary repo test2 2>&1
|
${CMD_PREFIX} ostree --repo=repo6 pull-local --remote=origin --gpg-verify-summary repo test2 2>&1
|
||||||
|
|
||||||
echo "ok --gpg-verify-summary"
|
echo "ok --gpg-verify-summary"
|
||||||
|
|
||||||
mkdir repo7
|
|
||||||
ostree_repo_init repo7 --mode="archive"
|
|
||||||
${CMD_PREFIX} ostree --repo=repo7 pull-local repo
|
|
||||||
${CMD_PREFIX} ostree --repo=repo7 fsck
|
|
||||||
for src_object in `find repo/objects -name '*.filez'`; do
|
|
||||||
dst_object=${src_object/repo/repo7}
|
|
||||||
assert_files_hardlinked "$src_object" "$dst_object"
|
|
||||||
done
|
|
||||||
echo "ok pull-local z2 to z2 default hardlink"
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@ set -euo pipefail
|
||||||
|
|
||||||
skip_without_user_xattrs
|
skip_without_user_xattrs
|
||||||
|
|
||||||
|
skip_without_gpgme
|
||||||
|
|
||||||
echo '1..2'
|
echo '1..2'
|
||||||
|
|
||||||
setup_test_repository "archive"
|
setup_test_repository "archive"
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,11 @@ do_commit() {
|
||||||
|
|
||||||
mkdir -p files
|
mkdir -p files
|
||||||
pushd files
|
pushd files
|
||||||
${CMD_PREFIX} ostree --repo="../${repo}" commit -s "Test ${repo} commit for branch ${branch}" -b "${branch}" --gpg-homedir="${TEST_GPG_KEYHOME}" --gpg-sign="${TEST_GPG_KEYID_1}" "$@" > "../${branch}-checksum"
|
local GPG_ARGS=""
|
||||||
|
if has_gpgme; then
|
||||||
|
GPG_ARGS="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||||
|
fi
|
||||||
|
${CMD_PREFIX} ostree --repo="../${repo}" commit -s "Test ${repo} commit for branch ${branch}" -b "${branch}" ${GPG_ARGS} "$@" > "../${branch}-checksum"
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,7 +46,11 @@ do_summary() {
|
||||||
local repo=$1
|
local repo=$1
|
||||||
shift 1
|
shift 1
|
||||||
|
|
||||||
${CMD_PREFIX} ostree "--repo=${repo}" summary --update --gpg-homedir="${TEST_GPG_KEYHOME}" --gpg-sign="${TEST_GPG_KEYID_1}"
|
local GPG_ARGS=""
|
||||||
|
if has_gpgme; then
|
||||||
|
GPG_ARGS="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||||
|
fi
|
||||||
|
${CMD_PREFIX} ostree "--repo=${repo}" summary --update ${GPG_ARGS}
|
||||||
}
|
}
|
||||||
|
|
||||||
do_collection_ref_show() {
|
do_collection_ref_show() {
|
||||||
|
|
@ -96,7 +104,11 @@ do_remote_add() {
|
||||||
local remote_repo=$2
|
local remote_repo=$2
|
||||||
shift 2
|
shift 2
|
||||||
|
|
||||||
${CMD_PREFIX} ostree "--repo=${repo}" remote add "${remote_repo}-remote" "file://$(pwd)/${remote_repo}" "$@" --gpg-import="${test_tmpdir}/gpghome/key1.asc"
|
local GPG_ARGS=""
|
||||||
|
if has_gpgme; then
|
||||||
|
GPG_ARGS="--gpg-import=${test_tmpdir}/gpghome/key1.asc"
|
||||||
|
fi
|
||||||
|
${CMD_PREFIX} ostree "--repo=${repo}" remote add "${remote_repo}-remote" "file://$(pwd)/${remote_repo}" "$@" ${GPG_ARGS}
|
||||||
}
|
}
|
||||||
|
|
||||||
do_pull() {
|
do_pull() {
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,15 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
echo "1..5"
|
COMMIT_SIGN=""
|
||||||
|
if has_gpgme; then
|
||||||
|
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||||
|
echo "1..5"
|
||||||
|
else
|
||||||
|
# Only one test don't need GPG support
|
||||||
|
echo "1..1"
|
||||||
|
fi
|
||||||
|
|
||||||
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
|
||||||
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}"
|
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}"
|
||||||
|
|
||||||
# Now, setup multiple branches
|
# Now, setup multiple branches
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,12 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
echo "1..4"
|
COMMIT_SIGN=""
|
||||||
|
if has_gpgme; then
|
||||||
|
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||||
|
fi
|
||||||
|
|
||||||
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
echo "1..4"
|
||||||
|
|
||||||
# Test pulling from a repo which gives error 500 (internal server error) a lot of the time.
|
# Test pulling from a repo which gives error 500 (internal server error) a lot of the time.
|
||||||
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}" --random-500s=50
|
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}" --random-500s=50
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,15 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
echo "1..10"
|
COMMIT_SIGN=""
|
||||||
|
if has_gpgme; then
|
||||||
|
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||||
|
echo "1..10"
|
||||||
|
else
|
||||||
|
# Only one test don't need GPG support
|
||||||
|
echo "1..1"
|
||||||
|
fi
|
||||||
|
|
||||||
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
|
||||||
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}"
|
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}"
|
||||||
|
|
||||||
# Now, setup multiple branches
|
# Now, setup multiple branches
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,12 @@ set -euo pipefail
|
||||||
|
|
||||||
echo "1..2"
|
echo "1..2"
|
||||||
|
|
||||||
|
COMMIT_SIGN=""
|
||||||
|
if has_gpgme; then
|
||||||
|
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
mkdir repo
|
mkdir repo
|
||||||
ostree_repo_init repo
|
ostree_repo_init repo
|
||||||
|
|
@ -45,7 +51,7 @@ done
|
||||||
${CMD_PREFIX} ostree --repo=repo summary --update
|
${CMD_PREFIX} ostree --repo=repo summary --update
|
||||||
|
|
||||||
# Generate a signed summary file.
|
# Generate a signed summary file.
|
||||||
${CMD_PREFIX} ostree --repo=repo summary --update --gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}
|
${CMD_PREFIX} ostree --repo=repo summary --update ${COMMIT_SIGN}
|
||||||
|
|
||||||
# Try various ways of adding additional data.
|
# Try various ways of adding additional data.
|
||||||
${CMD_PREFIX} ostree --repo=repo summary --update --add-metadata key="'value'" --add-metadata=key2=true
|
${CMD_PREFIX} ostree --repo=repo summary --update --add-metadata key="'value'" --add-metadata=key2=true
|
||||||
|
|
@ -77,7 +83,7 @@ done
|
||||||
${CMD_PREFIX} ostree --repo=repo summary --update
|
${CMD_PREFIX} ostree --repo=repo summary --update
|
||||||
|
|
||||||
# Generate a signed summary file.
|
# Generate a signed summary file.
|
||||||
${CMD_PREFIX} ostree --repo=repo summary --update --gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}
|
${CMD_PREFIX} ostree --repo=repo summary --update ${COMMIT_SIGN}
|
||||||
|
|
||||||
# Try various ways of adding additional data.
|
# Try various ways of adding additional data.
|
||||||
${CMD_PREFIX} ostree --repo=repo summary --update --add-metadata key="'value'" --add-metadata=key2=true
|
${CMD_PREFIX} ostree --repo=repo summary --update --add-metadata key="'value'" --add-metadata=key2=true
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,11 @@ set -euo pipefail
|
||||||
|
|
||||||
echo "1..2"
|
echo "1..2"
|
||||||
|
|
||||||
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
COMMIT_SIGN=""
|
||||||
|
if has_gpgme; then
|
||||||
|
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||||
|
fi
|
||||||
|
|
||||||
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}"
|
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}"
|
||||||
|
|
||||||
# Set up a second branch.
|
# Set up a second branch.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue