basic-test: Skip explicit uses of bare-user if no user xattrs
Signed-off-by: Simon McVittie <smcv@debian.org> Closes: #1120 Approved by: cgwalters
This commit is contained in:
parent
a7686a0c40
commit
41e6871e51
|
|
@ -106,19 +106,23 @@ echo "ok shortened checksum"
|
||||||
(cd repo && ${CMD_PREFIX} ostree rev-parse test2)
|
(cd repo && ${CMD_PREFIX} ostree rev-parse test2)
|
||||||
echo "ok repo-in-cwd"
|
echo "ok repo-in-cwd"
|
||||||
|
|
||||||
rm test-repo -rf
|
if ! skip_one_without_user_xattrs; then
|
||||||
ostree_repo_init test-repo --mode=bare-user
|
rm test-repo -rf
|
||||||
ostree_repo_init test-repo --mode=bare-user
|
ostree_repo_init test-repo --mode=bare-user
|
||||||
rm test-repo -rf
|
ostree_repo_init test-repo --mode=bare-user
|
||||||
echo "ok repo-init on existing repo"
|
rm test-repo -rf
|
||||||
|
echo "ok repo-init on existing repo"
|
||||||
|
fi
|
||||||
|
|
||||||
rm test-repo -rf
|
if ! skip_one_without_user_xattrs; then
|
||||||
ostree_repo_init test-repo --mode=bare-user
|
rm test-repo -rf
|
||||||
${CMD_PREFIX} ostree --repo=test-repo refs
|
ostree_repo_init test-repo --mode=bare-user
|
||||||
rm -rf test-repo/tmp
|
${CMD_PREFIX} ostree --repo=test-repo refs
|
||||||
${CMD_PREFIX} ostree --repo=test-repo refs
|
rm -rf test-repo/tmp
|
||||||
assert_has_dir test-repo/tmp
|
${CMD_PREFIX} ostree --repo=test-repo refs
|
||||||
echo "ok autocreate tmp"
|
assert_has_dir test-repo/tmp
|
||||||
|
echo "ok autocreate tmp"
|
||||||
|
fi
|
||||||
|
|
||||||
rm checkout-test2 -rf
|
rm checkout-test2 -rf
|
||||||
$OSTREE checkout test2 checkout-test2
|
$OSTREE checkout test2 checkout-test2
|
||||||
|
|
@ -262,27 +266,31 @@ cd ${test_tmpdir}
|
||||||
assert_file_has_content diff-test2-2 'M */four$'
|
assert_file_has_content diff-test2-2 'M */four$'
|
||||||
echo "ok diff file changing type"
|
echo "ok diff file changing type"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
if ! skip_one_without_user_xattrs; then
|
||||||
mkdir repo2
|
cd ${test_tmpdir}
|
||||||
# Use a different mode to test hardlinking metadata only
|
mkdir repo2
|
||||||
if grep -q 'mode=archive' repo/config || is_bare_user_only_repo repo; then
|
# Use a different mode to test hardlinking metadata only
|
||||||
opposite_mode=bare-user
|
if grep -q 'mode=archive' repo/config || is_bare_user_only_repo repo; then
|
||||||
else
|
opposite_mode=bare-user
|
||||||
opposite_mode=archive
|
else
|
||||||
|
opposite_mode=archive
|
||||||
|
fi
|
||||||
|
ostree_repo_init repo2 --mode=$opposite_mode
|
||||||
|
${CMD_PREFIX} ostree --repo=repo2 pull-local repo
|
||||||
|
test2_commitid=$(${CMD_PREFIX} ostree --repo=repo rev-parse test2)
|
||||||
|
test2_commit_relpath=/objects/${test2_commitid:0:2}/${test2_commitid:2}.commit
|
||||||
|
assert_files_hardlinked repo/${test2_commit_relpath} repo2/${test2_commit_relpath}
|
||||||
|
echo "ok pull-local (hardlinking metadata)"
|
||||||
fi
|
fi
|
||||||
ostree_repo_init repo2 --mode=$opposite_mode
|
|
||||||
${CMD_PREFIX} ostree --repo=repo2 pull-local repo
|
|
||||||
test2_commitid=$(${CMD_PREFIX} ostree --repo=repo rev-parse test2)
|
|
||||||
test2_commit_relpath=/objects/${test2_commitid:0:2}/${test2_commitid:2}.commit
|
|
||||||
assert_files_hardlinked repo/${test2_commit_relpath} repo2/${test2_commit_relpath}
|
|
||||||
echo "ok pull-local (hardlinking metadata)"
|
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
if ! skip_one_without_user_xattrs; then
|
||||||
rm repo2 -rf && mkdir repo2
|
cd ${test_tmpdir}
|
||||||
ostree_repo_init repo2 --mode=$opposite_mode
|
rm repo2 -rf && mkdir repo2
|
||||||
${CMD_PREFIX} ostree --repo=repo2 pull-local --bareuseronly-files repo test2
|
ostree_repo_init repo2 --mode=$opposite_mode
|
||||||
${CMD_PREFIX} ostree --repo=repo2 fsck -q
|
${CMD_PREFIX} ostree --repo=repo2 pull-local --bareuseronly-files repo test2
|
||||||
echo "ok pull-local --bareuseronly-files"
|
${CMD_PREFIX} ostree --repo=repo2 fsck -q
|
||||||
|
echo "ok pull-local --bareuseronly-files"
|
||||||
|
fi
|
||||||
|
|
||||||
# This is mostly a copy of the suid test in test-basic-user-only.sh,
|
# This is mostly a copy of the suid test in test-basic-user-only.sh,
|
||||||
# but for the `pull --bareuseronly-files` case.
|
# but for the `pull --bareuseronly-files` case.
|
||||||
|
|
@ -303,11 +311,13 @@ fi
|
||||||
assert_file_has_content err.txt 'object.*\.file: invalid mode.*with bits 040.*'
|
assert_file_has_content err.txt 'object.*\.file: invalid mode.*with bits 040.*'
|
||||||
echo "ok pull-local (bareuseronly files)"
|
echo "ok pull-local (bareuseronly files)"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
if ! skip_one_without_user_xattrs; then
|
||||||
${CMD_PREFIX} ostree --repo=repo2 checkout ${CHECKOUT_U_ARG} test2 test2-checkout-from-local-clone
|
cd ${test_tmpdir}
|
||||||
cd test2-checkout-from-local-clone
|
${CMD_PREFIX} ostree --repo=repo2 checkout ${CHECKOUT_U_ARG} test2 test2-checkout-from-local-clone
|
||||||
assert_file_has_content yet/another/tree/green 'leaf'
|
cd test2-checkout-from-local-clone
|
||||||
echo "ok local clone checkout"
|
assert_file_has_content yet/another/tree/green 'leaf'
|
||||||
|
echo "ok local clone checkout"
|
||||||
|
fi
|
||||||
|
|
||||||
$OSTREE checkout -U test2 checkout-user-test2
|
$OSTREE checkout -U test2 checkout-user-test2
|
||||||
echo "ok user checkout"
|
echo "ok user checkout"
|
||||||
|
|
@ -496,24 +506,28 @@ cd ${test_tmpdir}
|
||||||
$OSTREE checkout test2 --allow-noent --subpath /enoent 2>/dev/null
|
$OSTREE checkout test2 --allow-noent --subpath /enoent 2>/dev/null
|
||||||
echo "ok subdir noent"
|
echo "ok subdir noent"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
if ! skip_one_without_user_xattrs; then
|
||||||
mkdir repo3
|
cd ${test_tmpdir}
|
||||||
ostree_repo_init repo3 --mode=bare-user
|
mkdir repo3
|
||||||
${CMD_PREFIX} ostree --repo=repo3 pull-local --remote=aremote repo test2
|
ostree_repo_init repo3 --mode=bare-user
|
||||||
${CMD_PREFIX} ostree --repo=repo3 rev-parse aremote/test2
|
${CMD_PREFIX} ostree --repo=repo3 pull-local --remote=aremote repo test2
|
||||||
echo "ok pull-local with --remote arg"
|
${CMD_PREFIX} ostree --repo=repo3 rev-parse aremote/test2
|
||||||
|
echo "ok pull-local with --remote arg"
|
||||||
cd ${test_tmpdir}
|
fi
|
||||||
${CMD_PREFIX} ostree --repo=repo3 prune
|
|
||||||
find repo3/objects -name '*.commit' > objlist-before-prune
|
if ! skip_one_without_user_xattrs; then
|
||||||
rm repo3/refs/heads/* repo3/refs/mirrors/* repo3/refs/remotes/* -rf
|
cd ${test_tmpdir}
|
||||||
${CMD_PREFIX} ostree --repo=repo3 prune --refs-only
|
${CMD_PREFIX} ostree --repo=repo3 prune
|
||||||
find repo3/objects -name '*.commit' > objlist-after-prune
|
find repo3/objects -name '*.commit' > objlist-before-prune
|
||||||
if cmp -s objlist-before-prune objlist-after-prune; then
|
rm repo3/refs/heads/* repo3/refs/mirrors/* repo3/refs/remotes/* -rf
|
||||||
fatal "Prune didn't delete anything!"
|
${CMD_PREFIX} ostree --repo=repo3 prune --refs-only
|
||||||
|
find repo3/objects -name '*.commit' > objlist-after-prune
|
||||||
|
if cmp -s objlist-before-prune objlist-after-prune; then
|
||||||
|
fatal "Prune didn't delete anything!"
|
||||||
|
fi
|
||||||
|
rm repo3 objlist-before-prune objlist-after-prune -rf
|
||||||
|
echo "ok prune"
|
||||||
fi
|
fi
|
||||||
rm repo3 objlist-before-prune objlist-after-prune -rf
|
|
||||||
echo "ok prune"
|
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
rm repo3 -rf
|
rm repo3 -rf
|
||||||
|
|
@ -597,14 +611,16 @@ $OSTREE show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "HANCOCK"
|
assert_file_has_content test2-meta "HANCOCK"
|
||||||
echo "ok metadata commit with strings"
|
echo "ok metadata commit with strings"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
if ! skip_one_without_user_xattrs; then
|
||||||
rm repo2 -rf
|
cd ${test_tmpdir}
|
||||||
mkdir repo2
|
rm repo2 -rf
|
||||||
ostree_repo_init repo2 --mode=bare-user
|
mkdir repo2
|
||||||
${CMD_PREFIX} ostree --repo=repo2 pull-local repo
|
ostree_repo_init repo2 --mode=bare-user
|
||||||
${CMD_PREFIX} ostree --repo=repo2 show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
|
${CMD_PREFIX} ostree --repo=repo2 pull-local repo
|
||||||
assert_file_has_content test2-meta "HANCOCK"
|
${CMD_PREFIX} ostree --repo=repo2 show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
|
||||||
echo "ok pull-local after commit metadata"
|
assert_file_has_content test2-meta "HANCOCK"
|
||||||
|
echo "ok pull-local after commit metadata"
|
||||||
|
fi
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
${CMD_PREFIX} ostree --repo=repo remote --set=tls-permissive=true add aremote http://remote.example.com/repo testos/buildmaster/x86_64-runtime
|
${CMD_PREFIX} ostree --repo=repo remote --set=tls-permissive=true add aremote http://remote.example.com/repo testos/buildmaster/x86_64-runtime
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue