New upstream version 2018.4
This commit is contained in:
commit
de3c1878b1
85 files changed
+1520
-1199
No files matched your search
+12
-1
@@ -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
|
||||
|
||||
@@ -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
@@ -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}
|
||||
|
||||
@@ -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"
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user