New upstream version 2018.4

This commit is contained in:
Simon McVittie committed 2018-03-24 18:19:31 +00:00
commit de3c1878b1
85 files changed
+1520 -1199

No files matched your search

+12 -1
View File
@@ -21,7 +21,7 @@
set -euo pipefail
echo "1..$((82 + ${extra_basic_tests:-0}))"
echo "1..$((83 + ${extra_basic_tests:-0}))"
CHECKOUT_U_ARG=""
CHECKOUT_H_ARGS="-H"
@@ -476,6 +476,17 @@ cd ${test_tmpdir}
$OSTREE prune
echo "ok prune didn't fail"
# https://github.com/ostreedev/ostree/issues/1467
cd ${test_tmpdir}
mv repo/refs/remotes{,.orig}
if $OSTREE refs --list >/dev/null 2>err.txt; then
fatal "listed refs without remotes dir?"
fi
assert_file_has_content err.txt 'Listing refs.*opendir.*No such file or directory'
mv repo/refs/remotes{.orig,}
$OSTREE refs --list >/dev/null
echo "ok refs enoent error"
cd ${test_tmpdir}
# Verify we can't cat dirs
for path in / /baz; do
+4 -4
View File
@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python3
#
# Copyright (C) 2015 Red Hat
#
@@ -38,8 +38,8 @@ def fatal(msg):
sys.stderr.write('\n')
sys.exit(1)
def compare_entries_descending(a, b):
return int(b['version']) - int(a['version'])
def entry_get_version(entry):
return int(entry['version'])
def get_ostree_option(optionstring):
for o in optionstring.split():
@@ -65,7 +65,7 @@ for fname in os.listdir(loaderpath):
v = line[s+1:]
entry[k] = v
entries.append(entry)
entries.sort(compare_entries_descending)
entries.sort(key=entry_get_version, reverse=True)
# Parse SYSLINUX config
with open(syslinuxpath) as f:
+4 -5
View File
@@ -234,10 +234,9 @@ ostree_repo_init() {
# The original one; use setup_fake_remote_repo2 for newer code,
# down the line we'll try to port tests.
setup_fake_remote_repo1() {
mode=$1
commit_opts=${2:-}
args=${3:-}
shift
mode=$1; shift
commit_opts=${1:-}
[ $# -eq 0 ] || shift
oldpwd=`pwd`
mkdir ostree-srv
cd ostree-srv
@@ -263,7 +262,7 @@ setup_fake_remote_repo1() {
mkdir ${test_tmpdir}/httpd
cd httpd
ln -s ${test_tmpdir}/ostree-srv ostree
${OSTREE_HTTPD} --autoexit --log-file $(pwd)/httpd.log --daemonize -p ${test_tmpdir}/httpd-port $args
${OSTREE_HTTPD} --autoexit --log-file $(pwd)/httpd.log --daemonize -p ${test_tmpdir}/httpd-port "$@"
port=$(cat ${test_tmpdir}/httpd-port)
echo "http://127.0.0.1:${port}" > ${test_tmpdir}/httpd-address
cd ${oldpwd}
+48 -1
View File
@@ -26,7 +26,7 @@ set -euo pipefail
# Exports OSTREE_SYSROOT so --sysroot not needed.
setup_os_repository "archive" "syslinux"
echo "1..3"
echo "1..6"
${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)
@@ -63,3 +63,50 @@ assert_has_dir sysroot/boot/ostree/testos-${bootcsum}
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${newrev}.0/etc/os-release 'NAME=TestOS'
echo "ok manual cleanup"
assert_n_pinned() {
local n=$1
${CMD_PREFIX} ostree admin status > status.txt
local n_pinned="$(grep -F -c -e 'Pinned: yes' < status.txt)"
if test "${n_pinned}" '!=' "${n}"; then
cat status.txt
fatal "${n_pinned} != ${n}"
fi
}
assert_n_deployments() {
local n=$1
${CMD_PREFIX} ostree admin status > status.txt
local n_deployments="$(grep -F -c -e 'Version: ' < status.txt)"
if test "${n_deployments}" '!=' "${n}"; then
cat status.txt
fatal "${n_deployments} != ${n}"
fi
}
assert_n_pinned 0
${CMD_PREFIX} ostree admin pin 0
assert_n_pinned 1
${CMD_PREFIX} ostree admin pin -u 0
assert_n_pinned 0
echo "ok pin unpin"
${CMD_PREFIX} ostree admin pin 0
${CMD_PREFIX} ostree admin pin 1
assert_n_pinned 2
assert_n_deployments 2
os_repository_new_commit
${CMD_PREFIX} ostree admin upgrade --os=testos
assert_n_pinned 2
assert_n_deployments 3
echo "ok pin across upgrades"
${CMD_PREFIX} ostree admin pin -u 1
os_repository_new_commit
${CMD_PREFIX} ostree admin upgrade --os=testos
assert_n_pinned 1
assert_n_deployments 3
os_repository_new_commit
${CMD_PREFIX} ostree admin upgrade --os=testos
assert_n_pinned 1
assert_n_deployments 3
echo "ok pinning"
+1 -1
View File
@@ -28,7 +28,7 @@ extra_basic_tests=5
. $(dirname $0)/basic-test.sh
$CMD_PREFIX ostree --version > version.yaml
python -c 'import yaml; yaml.safe_load(open("version.yaml"))'
python3 -c 'import yaml; yaml.safe_load(open("version.yaml"))'
echo "ok yaml version"
# Reset things so we don't inherit a lot of state from earlier tests
+12 -11
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
#
# Copyright (C) 2017 Colin Walters <walters@verbum.org>
#
@@ -17,6 +17,7 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
from __future__ import division
from __future__ import print_function
import os
import sys
@@ -33,8 +34,8 @@ def fatal(msg):
# different files with different checksums.
def mktree(dname, serial=0):
print('Creating tree', dname, file=sys.stderr)
os.mkdir(dname, 0755)
for v in xrange(20):
os.mkdir(dname, 0o755)
for v in range(20):
with open('{}/{}'.format(dname, v), 'w') as f:
f.write('{} {} {}\n'.format(dname, serial, v))
@@ -78,13 +79,13 @@ def run(n_committers, n_pruners):
pruners = set()
print('n_committers', n_committers, 'n_pruners', n_pruners, file=sys.stderr)
n_trees = n_committers / 2
for v in xrange(n_trees):
n_trees = n_committers // 2
for v in range(n_trees):
mktree('tree{}'.format(v))
for v in xrange(n_committers):
committers.add(commit(v / 2))
for v in xrange(n_pruners):
for v in range(n_committers):
committers.add(commit(v // 2))
for v in range(n_pruners):
pruners.add(prune())
failed = False
@@ -97,12 +98,12 @@ def run(n_committers, n_pruners):
if failed:
fatal('A child process exited abnormally')
for v in xrange(n_trees):
for v in range(n_trees):
shutil.rmtree('tree{}'.format(v))
# No concurrent pruning
run(cpu_count()/2 + 2, 0)
run(cpu_count() // 2 + 2, 0)
print("ok no concurrent prunes")
run(cpu_count()/2 + 4, 3)
run(cpu_count() // 2 + 4, 3)
print("ok concurrent prunes")
+11 -3
View File
@@ -52,6 +52,13 @@ assert_repo_has_n_commits() {
assert_streq "$(find ${repo}/objects -name '*.commit' | wc -l)" "${count}"
}
# Test --no-prune
objectcount_orig=$(find repo/objects | wc -l)
${CMD_PREFIX} ostree prune --repo=repo --refs-only --depth=0 --no-prune | tee noprune.txt
assert_file_has_content noprune.txt 'Would delete: [1-9][0-9]* objects, freeing [1-9][0-9]*'
objectcount_new=$(find repo/objects | wc -l)
assert_streq "${objectcount_orig}" "${objectcount_new}"
${CMD_PREFIX} ostree prune --repo=repo --refs-only --depth=2 -v
assert_repo_has_n_commits repo 3
find repo/objects -name '*.tombstone-commit' | wc -l > tombstonecommitcount
@@ -134,9 +141,10 @@ assert_file_has_content deltascount "^1$"
${CMD_PREFIX} ostree --repo=repo static-delta generate test
${CMD_PREFIX} ostree --repo=repo static-delta list | wc -l > deltascount
assert_file_has_content deltascount "^2$"
${CMD_PREFIX} ostree --repo=repo prune --static-deltas-only --keep-younger-than="October 20 2015"
${CMD_PREFIX} ostree --repo=repo static-delta list | wc -l > deltascount
assert_file_has_content deltascount "^1$"
if ${CMD_PREFIX} ostree --repo=repo prune --static-deltas-only --keep-younger-than="October 20 2015" 2>err.txt; then
fatal "pruned deltas only"
fi
assert_file_has_content_literal err.txt "--static-deltas-only requires --delete-commit"
echo "ok prune"
+7
View File
@@ -147,6 +147,13 @@ ${CMD_PREFIX} ostree --repo=repo refs local1 --create=origin:local1
${CMD_PREFIX} ostree --repo=repo refs | wc -l > refscount.create6
assert_file_has_content refscount.create6 "^11$"
#Check that we can list just remote refs
${CMD_PREFIX} ostree --repo=repo refs origin: | wc -l > refscount.create7
assert_file_has_content refscount.create7 "^2$" # origin:remote1 origin:local1
#Also support :. for backcompat with flatpak
${CMD_PREFIX} ostree --repo=repo refs origin:. | wc -l > refscount.create8
assert_file_has_content refscount.create8 "^2$" # origin:remote1 origin:local1
echo "ok refs"
# Test symlinking a ref
+2 -1
View File
@@ -27,7 +27,8 @@ echo '1..4'
. $(dirname $0)/libtest.sh
setup_fake_remote_repo1 "archive" "" \
"--expected-cookies foo=bar --expected-cookies baz=badger"
--expected-cookies foo=bar \
--expected-cookies baz=badger
assert_fail (){
if $@; then
+20 -2
View File
@@ -25,8 +25,13 @@ echo '1..2'
. $(dirname $0)/libtest.sh
V=$($CMD_PREFIX ostree --version | \
python3 -c 'import sys, yaml; print(yaml.safe_load(sys.stdin)["libostree"]["Version"])')
setup_fake_remote_repo1 "archive" "" \
"--expected-header foo=bar --expected-header baz=badger"
--expected-header foo=bar \
--expected-header baz=badger \
--expected-header "User-Agent=libostree/$V dodo/2.15"
assert_fail (){
set +e
@@ -46,9 +51,22 @@ ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat
# Sanity check the setup, without headers the pull should fail
assert_fail ${CMD_PREFIX} ostree --repo=repo pull origin main
# without proper User-Agent, the pull should fail
assert_fail ${CMD_PREFIX} ostree --repo=repo pull origin main \
--http-header foo=bar \
--http-header baz=badger
assert_fail ${CMD_PREFIX} ostree --repo=repo pull origin main \
--http-header foo=bar \
--http-header baz=badger \
--append-user-agent bar/1.2
echo "ok setup done"
# Now pull should succeed now
${CMD_PREFIX} ostree --repo=repo pull --http-header foo=bar --http-header baz=badger origin main
${CMD_PREFIX} ostree --repo=repo pull \
--http-header foo=bar \
--http-header baz=badger \
--append-user-agent dodo/2.15 \
origin main
echo "ok pull succeeded"
+1 -1
View File
@@ -54,7 +54,7 @@ echo 'ok documented symbols'
# ONLY update this checksum in release commits!
cat > released-sha256.txt <<EOF
6f8beb8ec59190c74368b7f2b1aca7a382c9e4b1763b724037932f73ba6b29cd ${released_syms}
d77bacdfe04f2a150e4d5e1637410e851c273b238468d820c0d2a168971900f3 ${released_syms}
EOF
sha256sum -c released-sha256.txt