New upstream version 2018.7
This commit is contained in:
commit
97a0aa1a42
199 files changed
+1261
-49717
No files matched your search
+18
-18
@@ -68,9 +68,9 @@ echo "ok --print-current-dir"
|
||||
assert_not_has_dir sysroot/boot/loader.0
|
||||
assert_has_dir sysroot/boot/loader.1
|
||||
assert_has_dir sysroot/ostree/boot.1.1
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-testos-0.conf
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* quiet'
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-1-testos.conf
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.* quiet'
|
||||
assert_file_has_content sysroot/boot/ostree/testos-${bootcsum}/vmlinuz-3.6.0 'a kernel'
|
||||
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.0/etc/os-release 'NAME=TestOS'
|
||||
assert_file_has_content sysroot/ostree/boot.1/testos/${bootcsum}/0/etc/os-release 'NAME=TestOS'
|
||||
@@ -96,7 +96,7 @@ assert_not_has_dir sysroot/ostree/boot.0.0
|
||||
assert_not_has_dir sysroot/ostree/boot.1.0
|
||||
assert_not_has_dir sysroot/ostree/boot.1.1
|
||||
# Ensure we propagated kernel arguments from previous deployment
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.1/etc/os-release 'NAME=TestOS'
|
||||
assert_file_has_content sysroot/ostree/boot.0/testos/${bootcsum}/0/etc/os-release 'NAME=TestOS'
|
||||
assert_ostree_deployment_refs 0/1/{0,1}
|
||||
@@ -123,8 +123,8 @@ ${CMD_PREFIX} ostree admin os-init otheros
|
||||
${CMD_PREFIX} ostree admin deploy --os=otheros testos/buildmaster/x86_64-runtime
|
||||
assert_not_has_dir sysroot/boot/loader.0
|
||||
assert_has_dir sysroot/boot/loader.1
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-testos-1.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-otheros-0.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-2-testos.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-3-otheros.conf
|
||||
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.1/etc/os-release 'NAME=TestOS'
|
||||
assert_file_has_content sysroot/ostree/deploy/otheros/deploy/${rev}.0/etc/os-release 'NAME=TestOS'
|
||||
assert_ostree_deployment_refs 1/1/{0,1,2}
|
||||
@@ -136,9 +136,9 @@ echo "ok independent deploy"
|
||||
${CMD_PREFIX} ostree admin deploy --retain --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
assert_has_dir sysroot/boot/loader.0
|
||||
assert_not_has_dir sysroot/boot/loader.1
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-testos-0.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-4-testos.conf
|
||||
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.2/etc/os-release 'NAME=TestOS'
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-testos-2.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-2-testos.conf
|
||||
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.3/etc/os-release 'NAME=TestOS'
|
||||
${CMD_PREFIX} ostree admin status
|
||||
assert_ostree_deployment_refs 0/1/{0,1,2,3}
|
||||
@@ -172,14 +172,14 @@ echo "ok deploy with modified /etc"
|
||||
for i in $(seq 4); do
|
||||
${CMD_PREFIX} ostree admin undeploy 0
|
||||
done
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-testos-0.conf
|
||||
assert_not_has_file sysroot/boot/loader/entries/ostree-testos-1.conf
|
||||
assert_not_has_file sysroot/boot/loader/entries/ostree-otheros-1.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-1-testos.conf
|
||||
assert_not_has_file sysroot/boot/loader/entries/ostree-2-testos.conf
|
||||
assert_not_has_file sysroot/boot/loader/entries/ostree-3-otheros.conf
|
||||
${CMD_PREFIX} ostree admin deploy --not-as-default --os=otheros testos:testos/buildmaster/x86_64-runtime
|
||||
assert_has_dir sysroot/boot/loader.0
|
||||
assert_not_has_dir sysroot/boot/loader.1
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-testos-0.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-otheros-1.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-2-testos.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-1-otheros.conf
|
||||
${CMD_PREFIX} ostree admin status
|
||||
validate_bootloader
|
||||
|
||||
@@ -188,9 +188,9 @@ echo "ok deploy --not-as-default"
|
||||
${CMD_PREFIX} ostree admin deploy --retain-rollback --os=otheros testos:testos/buildmaster/x86_64-runtime
|
||||
assert_not_has_dir sysroot/boot/loader.0
|
||||
assert_has_dir sysroot/boot/loader.1
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-otheros-0.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-testos-1.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-otheros-2.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-3-otheros.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-2-testos.conf
|
||||
assert_has_file sysroot/boot/loader/entries/ostree-1-otheros.conf
|
||||
${CMD_PREFIX} ostree admin status
|
||||
validate_bootloader
|
||||
|
||||
@@ -265,7 +265,7 @@ echo "ok deploy with unknown OS"
|
||||
|
||||
${CMD_PREFIX} ostree admin deploy --os=testos --karg-append=console=/dev/foo --karg-append=console=/dev/bar testos:testos/buildmaster/x86_64-runtime
|
||||
${CMD_PREFIX} ostree admin deploy --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'console=/dev/foo.*console=/dev/bar'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-4-testos.conf 'console=/dev/foo.*console=/dev/bar'
|
||||
validate_bootloader
|
||||
|
||||
echo "ok deploy with multiple kernel args"
|
||||
@@ -275,7 +275,7 @@ os_repository_new_commit 0 "test upgrade multiple kernel args"
|
||||
${CMD_PREFIX} ostree admin upgrade --os=testos
|
||||
newrev=$(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
|
||||
assert_not_streq ${origrev} ${newrev}
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'console=/dev/foo.*console=/dev/bar'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-4-testos.conf 'console=/dev/foo.*console=/dev/bar'
|
||||
validate_bootloader
|
||||
|
||||
echo "ok upgrade with multiple kernel args"
|
||||
|
||||
@@ -435,6 +435,54 @@ $OSTREE checkout test3-combined checkout-test3-combined
|
||||
assert_has_file checkout-test3-combined/file-a
|
||||
assert_has_file checkout-test3-combined/file-b
|
||||
|
||||
mkdir -p tree-C/usr/share tree-C/usr/bin tree-C/etc tree-D/etc
|
||||
|
||||
echo exe >tree-C/usr/bin/exe
|
||||
echo sudoers1 >tree-C/etc/sudoers
|
||||
echo mtab >tree-C/etc/mtab
|
||||
|
||||
echo sudoers2 >tree-D/etc/sudoers
|
||||
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-C1 --tree=dir=tree-C
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-D --tree=dir=tree-D
|
||||
|
||||
echo sudoers2 >tree-C/etc/sudoers
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-C2 --tree=dir=tree-C
|
||||
echo sudoers1 >tree-C/etc/sudoers
|
||||
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-ref-ref --tree=ref=test3-C1 --tree=ref=test3-D
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-dir-ref --tree=dir=tree-C --tree=ref=test3-D
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-ref-dir --tree=ref=test3-C1 --tree=dir=tree-D
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-dir-dir --tree=dir=tree-C --tree=dir=tree-D
|
||||
|
||||
assert_trees_identical() {
|
||||
$OSTREE diff "$1" "$2" > "diff-$1-$2"
|
||||
cat "diff-$1-$2" 1>&2
|
||||
assert_file_empty "diff-$1-$2"
|
||||
rm "diff-$1-$2"
|
||||
}
|
||||
|
||||
for x in ref dir
|
||||
do
|
||||
for y in ref dir
|
||||
do
|
||||
assert_trees_identical test3-C2 "test3-$x-$y"
|
||||
done
|
||||
done
|
||||
|
||||
# Regression test
|
||||
|
||||
mkdir -p tree-E/etc
|
||||
mkdir -p tree-F/etc/apt/sources.list.d/
|
||||
echo contents >tree-F/etc/apt/sources.list.d/universe.list
|
||||
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-E --tree=dir=tree-E
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-F --tree=dir=tree-F
|
||||
|
||||
$OSTREE commit ${COMMIT_ARGS} -b test3-F2 --tree=ref=test3-E --tree=ref=test3-F
|
||||
|
||||
assert_trees_identical test3-F test3-F2
|
||||
|
||||
echo "ok commit combined ref trees"
|
||||
|
||||
# NB: The + is optional, but we need to make sure we support it
|
||||
|
||||
@@ -34,6 +34,14 @@ else
|
||||
fi
|
||||
. ${test_srcdir}/libtest-core.sh
|
||||
|
||||
save_core() {
|
||||
if [ -e core ]; then
|
||||
cp core "$test_srcdir/core"
|
||||
fi
|
||||
}
|
||||
|
||||
trap save_core EXIT;
|
||||
|
||||
test_tmpdir=$(pwd)
|
||||
|
||||
# Sanity check that we're in a tmpdir that has
|
||||
@@ -640,3 +648,12 @@ assert_not_ref () {
|
||||
fatal "rev-parse $2 unexpectedly succeeded!"
|
||||
fi
|
||||
}
|
||||
|
||||
assert_fail () {
|
||||
set +e
|
||||
$@
|
||||
if [ $? = 0 ] ; then
|
||||
echo 1>&2 "$@ did not fail"; exit 1
|
||||
fi
|
||||
set -euo pipefail
|
||||
}
|
||||
@@ -66,7 +66,7 @@ populate_menu()
|
||||
else
|
||||
boot_prefix="${OSTREE_BOOT_PARTITION}"
|
||||
fi
|
||||
for config in $(ls $entries_path/*.conf); do
|
||||
for config in $(ls -v -r $entries_path/*.conf); do
|
||||
read_config ${config}
|
||||
menu="${menu}menuentry '${title}' {\n"
|
||||
menu="${menu}\t linux ${boot_prefix}${linux} ${options}\n"
|
||||
|
||||
@@ -71,9 +71,9 @@ oldversion=${version}
|
||||
# another commit with *same* bootcsum but *new* content
|
||||
os_repository_new_commit "1" "2"
|
||||
newversion=${version}
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf ${oldversion}
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf ${oldversion}
|
||||
${CMD_PREFIX} ostree admin upgrade --os=testos
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf ${newversion}
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf ${newversion}
|
||||
|
||||
echo "ok new version same bootcsum"
|
||||
|
||||
|
||||
@@ -35,12 +35,12 @@ export rev
|
||||
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
${CMD_PREFIX} ostree admin deploy --karg=FOO=BAR --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
${CMD_PREFIX} ostree admin deploy --karg=TESTARG=TESTVALUE --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-1.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.*TESTARG=TESTVALUE'
|
||||
${CMD_PREFIX} ostree admin deploy --karg=ANOTHERARG=ANOTHERVALUE --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*ANOTHERARG=ANOTHERVALUE'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.*ANOTHERARG=ANOTHERVALUE'
|
||||
|
||||
echo "ok deploy with --karg, but same config"
|
||||
|
||||
@@ -51,7 +51,7 @@ for arg in $(cat /proc/cmdline); do
|
||||
;;
|
||||
initrd=*|BOOT_IMAGE=*) # Skip options set by bootloader that gets filtered out
|
||||
;;
|
||||
*) assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf "options.*$arg"
|
||||
*) assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf "options.*$arg"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -62,8 +62,8 @@ ${CMD_PREFIX} ostree admin status
|
||||
${CMD_PREFIX} ostree admin undeploy 0
|
||||
|
||||
${CMD_PREFIX} ostree admin deploy --os=testos --karg-append=APPENDARG=VALAPPEND --karg-append=APPENDARG=2NDAPPEND testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*APPENDARG=VALAPPEND .*APPENDARG=2NDAPPEND'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'options.*APPENDARG=VALAPPEND .*APPENDARG=2NDAPPEND'
|
||||
|
||||
echo "ok deploy --karg-append"
|
||||
@@ -38,8 +38,8 @@ for test_bootdir in "boot" "usr/lib/ostree-boot"; do
|
||||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmaster/x86_64-runtime
|
||||
rev=$(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
|
||||
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* quiet'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.* quiet'
|
||||
assert_file_has_content sysroot/boot/ostree/testos-${bootcsum}/vmlinuz-3.6.0 'a kernel'
|
||||
assert_file_has_content sysroot/boot/ostree/testos-${bootcsum}/initramfs-3.6.0.img 'an initramfs'
|
||||
# kernel/initrams should also be in the tree's /boot with the checksum
|
||||
@@ -64,7 +64,7 @@ cd ${test_tmpdir}
|
||||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmaster/x86_64-runtime
|
||||
rev=$(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
|
||||
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.* root=LABEL=MOO'
|
||||
assert_file_has_content sysroot/boot/ostree/testos-${bootcsum}/vmlinuz-3.6.0 'a kernel'
|
||||
assert_file_has_content sysroot/boot/ostree/testos-${bootcsum}/initramfs-3.6.0.img 'an initramfs'
|
||||
# Note this bootcsum shouldn't be the modules one
|
||||
|
||||
@@ -34,25 +34,25 @@ ${CMD_PREFIX} ostree admin deploy --os=testos testos:testos/buildmaster/x86_64-r
|
||||
|
||||
${CMD_PREFIX} ostree admin instutil set-kargs FOO=BAR
|
||||
${CMD_PREFIX} ostree admin instutil set-kargs FOO=BAZ FOO=BIF TESTARG=TESTVALUE
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=BAZ .*FOO=BIF'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAZ .*FOO=BIF'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE'
|
||||
echo "ok instutil set-kargs (basic)"
|
||||
|
||||
${CMD_PREFIX} ostree admin instutil set-kargs --merge FOO=BAR
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=BAZ .*FOO=BIF .*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAZ .*FOO=BIF .*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE'
|
||||
echo "ok instutil set-kargs --merge"
|
||||
|
||||
${CMD_PREFIX} ostree admin instutil set-kargs --merge --replace=FOO=XXX
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=XXX'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*TESTARG=TESTVALUE'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=XXX'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE'
|
||||
echo "ok instutil set-kargs --replace"
|
||||
|
||||
${CMD_PREFIX} ostree admin instutil set-kargs --merge --append=FOO=BAR --append=APPENDARG=VALAPPEND --append=APPENDARG=2NDAPPEND testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*FOO=XXX.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.*APPENDARG=VALAPPEND .*APPENDARG=2NDAPPEND'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=XXX.*FOO=BAR'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*APPENDARG=VALAPPEND .*APPENDARG=2NDAPPEND'
|
||||
echo "ok instutil set-kargs --append"
|
||||
|
||||
${CMD_PREFIX} ostree admin instutil set-kargs --import-proc-cmdline
|
||||
@@ -62,7 +62,7 @@ for arg in $(cat /proc/cmdline); do
|
||||
;;
|
||||
initrd=*|BOOT_IMAGE=*) # Skip options set by bootloader that gets filtered out
|
||||
;;
|
||||
*) assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf "options.*$arg"
|
||||
*) assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf "options.*$arg"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -46,13 +46,13 @@ ${CMD_PREFIX} ostree admin upgrade --os=testos --pull-only --os=testos > out.txt
|
||||
assert_not_file_has_content out.txt 'No update available'
|
||||
assert_has_dir sysroot/ostree/deploy/testos/deploy/${parent_rev}.0
|
||||
assert_not_has_dir sysroot/ostree/deploy/testos/deploy/${rev}.0
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'TestOS 42 1.0.9'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'TestOS 42 1.0.9'
|
||||
assert_streq "${rev}" $(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
|
||||
# Now, generate new content upstream; we shouldn't pull it
|
||||
os_repository_new_commit
|
||||
${CMD_PREFIX} ostree admin upgrade --os=testos --deploy-only --os=testos > out.txt
|
||||
assert_not_file_has_content out.txt 'No update available'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'TestOS 42 1.0.10'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'TestOS 42 1.0.10'
|
||||
assert_has_dir sysroot/ostree/deploy/testos/deploy/${parent_rev}.0
|
||||
assert_has_dir sysroot/ostree/deploy/testos/deploy/${rev}.0
|
||||
${CMD_PREFIX} ostree admin upgrade --os=testos --deploy-only --os=testos > out.txt
|
||||
|
||||
@@ -65,7 +65,7 @@ ${CMD_PREFIX} ostree admin upgrade --os=testos --pull-only
|
||||
${CMD_PREFIX} ostree admin upgrade --os=testos --deploy-only
|
||||
|
||||
# Check we got redirected to the new branch
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf "${bootcsum}"
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf "${bootcsum}"
|
||||
rev=$(${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo rev-parse testos/buildmaster/newbranch)
|
||||
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.0/usr/bin/content-iteration "1"
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
static void
|
||||
test_metadata_checksum (void)
|
||||
{
|
||||
g_autoptr(GError) error = NULL;
|
||||
const char *checksum = "12345678901234567890123456789012";
|
||||
glnx_unref_object OstreeMutableTree *tree = ostree_mutable_tree_new ();
|
||||
|
||||
@@ -39,6 +40,27 @@ test_metadata_checksum (void)
|
||||
ostree_mutable_tree_set_metadata_checksum (tree, checksum);
|
||||
|
||||
g_assert_cmpstr (checksum, ==, ostree_mutable_tree_get_metadata_checksum (tree));
|
||||
|
||||
/* If a child tree's metadata changes the parent tree's contents needs to be
|
||||
* recalculated */
|
||||
glnx_unref_object OstreeMutableTree *subdir = NULL;
|
||||
g_assert (ostree_mutable_tree_ensure_dir (tree, "subdir", &subdir, &error));
|
||||
g_assert_nonnull (subdir);
|
||||
|
||||
ostree_mutable_tree_set_contents_checksum (
|
||||
subdir, "11111111111111111111111111111111");
|
||||
ostree_mutable_tree_set_metadata_checksum (
|
||||
subdir, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
|
||||
ostree_mutable_tree_set_contents_checksum (
|
||||
tree, "abcdefabcdefabcdefabcdefabcdefab");
|
||||
|
||||
g_assert_cmpstr (ostree_mutable_tree_get_contents_checksum (tree), ==,
|
||||
"abcdefabcdefabcdefabcdefabcdefab");
|
||||
ostree_mutable_tree_set_metadata_checksum (
|
||||
subdir, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
|
||||
g_assert_null (ostree_mutable_tree_get_contents_checksum (tree));
|
||||
g_assert_cmpstr (ostree_mutable_tree_get_contents_checksum (subdir), ==,
|
||||
"11111111111111111111111111111111");
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -162,13 +184,12 @@ test_contents_checksum (void)
|
||||
const char *subdir_checksum = "ABCD0123456789012345678901234567";
|
||||
glnx_unref_object OstreeMutableTree *tree = ostree_mutable_tree_new ();
|
||||
glnx_unref_object OstreeMutableTree *subdir = NULL;
|
||||
g_autoptr(GError) error = NULL;
|
||||
g_assert_null (ostree_mutable_tree_get_contents_checksum (tree));
|
||||
|
||||
ostree_mutable_tree_set_contents_checksum (tree, checksum);
|
||||
g_assert_cmpstr (checksum, ==, ostree_mutable_tree_get_contents_checksum (tree));
|
||||
|
||||
g_assert (ostree_mutable_tree_ensure_dir (tree, "subdir", &subdir, &error));
|
||||
g_assert (ostree_mutable_tree_ensure_dir (tree, "subdir", &subdir, NULL));
|
||||
g_assert_nonnull (subdir);
|
||||
|
||||
ostree_mutable_tree_set_contents_checksum (subdir, subdir_checksum);
|
||||
|
||||
+13
-13
@@ -12,8 +12,8 @@ ${CMD_PREFIX} ostree --repo=sysroot/ostree/repo remote add --set=gpg-verify=fals
|
||||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull testos testos/buildmaster/x86_64-runtime
|
||||
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=rootfs --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'root=LABEL=rootfs'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'init='
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'root=LABEL=rootfs'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'init='
|
||||
|
||||
echo "ok deployment with initramfs"
|
||||
|
||||
@@ -63,28 +63,28 @@ for layout in /usr/lib/modules /usr/lib/ostree-boot /boot;
|
||||
do
|
||||
pull_test_tree "the kernel only"
|
||||
${CMD_PREFIX} ostree admin deploy --os=testos --karg=root=/dev/sda2 --karg=rootwait testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'rootwait'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'init='
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'initrd'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'rootwait'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'init='
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'initrd'
|
||||
|
||||
echo "ok switching to bootdir with no initramfs layout=$layout"
|
||||
|
||||
pull_test_tree "the kernel" "initramfs to assist the kernel"
|
||||
${CMD_PREFIX} ostree admin deploy --os=testos --karg-none --karg=root=LABEL=rootfs testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'initrd'
|
||||
assert_file_has_content sysroot/boot/$(get_key_from_bootloader_conf sysroot/boot/loader/entries/ostree-testos-0.conf "initrd") "initramfs to assist the kernel"
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'root=LABEL=rootfs'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'rootwait'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'init='
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'initrd'
|
||||
assert_file_has_content sysroot/boot/$(get_key_from_bootloader_conf sysroot/boot/loader/entries/ostree-2-testos.conf "initrd") "initramfs to assist the kernel"
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'root=LABEL=rootfs'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'rootwait'
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'init='
|
||||
|
||||
echo "ok switching from no initramfs to initramfs enabled sysroot layout=$layout"
|
||||
|
||||
pull_test_tree "the kernel" "" "my .dtb file"
|
||||
${CMD_PREFIX} ostree admin deploy --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'init='
|
||||
assert_file_has_content sysroot/boot/"$(get_key_from_bootloader_conf sysroot/boot/loader/entries/ostree-testos-0.conf 'devicetree')" "my .dtb file"
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'initrd'
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'init='
|
||||
assert_file_has_content sysroot/boot/"$(get_key_from_bootloader_conf sysroot/boot/loader/entries/ostree-2-testos.conf 'devicetree')" "my .dtb file"
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-2-testos.conf 'initrd'
|
||||
|
||||
echo "ok switching from initramfs to no initramfs sysroot with devicetree layout=$layout"
|
||||
done
|
||||
@@ -23,7 +23,7 @@ set -euo pipefail
|
||||
|
||||
. $(dirname $0)/libtest.sh
|
||||
|
||||
echo "1..2"
|
||||
echo "1..4"
|
||||
|
||||
COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
|
||||
|
||||
@@ -47,7 +47,20 @@ ${CMD_PREFIX} ostree --repo=repo rev-parse main
|
||||
popd
|
||||
echo "ok repeated pull after 500s"
|
||||
|
||||
# Now test from a repo which gives error 408 (request timeout) a lot of the time.
|
||||
# Sanity check with no network retries and 408s given, pull should fail.
|
||||
rm ostree-srv httpd repo -rf
|
||||
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}" --random-408s=99
|
||||
|
||||
pushd ${test_tmpdir}
|
||||
ostree_repo_init repo --mode=archive
|
||||
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
|
||||
assert_fail ${CMD_PREFIX} ostree --repo=repo pull --mirror origin --network-retries=0 main 2>err.txt
|
||||
assert_file_has_content err.txt "\(408.*Request Timeout\)\|\(HTTP 408\)"
|
||||
|
||||
popd
|
||||
echo "ok no retries after a 408"
|
||||
|
||||
# Test pulling a repo which gives error 408 (request timeout) a lot of the time.
|
||||
rm ostree-srv httpd repo -rf
|
||||
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}" --random-408s=50
|
||||
|
||||
@@ -55,7 +68,7 @@ pushd ${test_tmpdir}
|
||||
ostree_repo_init repo --mode=archive
|
||||
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
|
||||
for x in $(seq 40); do
|
||||
if ${CMD_PREFIX} ostree --repo=repo pull --mirror origin main 2>err.txt; then
|
||||
if ${CMD_PREFIX} ostree --repo=repo pull --mirror origin --network-retries=2 main 2>err.txt; then
|
||||
echo "Success on iteration ${x}"
|
||||
break;
|
||||
fi
|
||||
@@ -67,3 +80,21 @@ ${CMD_PREFIX} ostree --repo=repo rev-parse main
|
||||
|
||||
popd
|
||||
echo "ok repeated pull after 408s"
|
||||
|
||||
# Test pulling a repo that gives 408s a lot of the time, with many network retries.
|
||||
rm ostree-srv httpd repo -rf
|
||||
setup_fake_remote_repo1 "archive" "${COMMIT_SIGN}" --random-408s=50
|
||||
|
||||
pushd ${test_tmpdir}
|
||||
ostree_repo_init repo --mode=archive
|
||||
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
|
||||
|
||||
# Using 8 network retries gives error rate of <0.5%, when --random-408s=50
|
||||
${CMD_PREFIX} ostree --repo=repo pull --mirror origin --network-retries=8 main
|
||||
echo "Success with big number of network retries"
|
||||
|
||||
${CMD_PREFIX} ostree --repo=repo fsck
|
||||
${CMD_PREFIX} ostree --repo=repo rev-parse main
|
||||
|
||||
popd
|
||||
echo "ok big number of retries with one 408"
|
||||
@@ -33,15 +33,6 @@ setup_fake_remote_repo1 "archive" "" \
|
||||
--expected-header baz=badger \
|
||||
--expected-header "User-Agent=libostree/$V dodo/2.15"
|
||||
|
||||
assert_fail (){
|
||||
set +e
|
||||
$@
|
||||
if [ $? = 0 ] ; then
|
||||
echo 1>&2 "$@ did not fail"; exit 1
|
||||
fi
|
||||
set -euo pipefail
|
||||
}
|
||||
|
||||
cd ${test_tmpdir}
|
||||
rm repo -rf
|
||||
mkdir repo
|
||||
|
||||
@@ -54,7 +54,7 @@ echo 'ok documented symbols'
|
||||
|
||||
# ONLY update this checksum in release commits!
|
||||
cat > released-sha256.txt <<EOF
|
||||
0d9b42d7e6694a6875962e253c0ffc61f8363dfdfb78f41b843223708cae60d5 ${released_syms}
|
||||
611278b6081cbd34e365f3a7988e0c981644a828230973d7675a1a31ef09a0e3 ${released_syms}
|
||||
EOF
|
||||
sha256sum -c released-sha256.txt
|
||||
|
||||
|
||||
Reference in new issue
Block a user