New upstream version 2017.3

This commit is contained in:
Simon McVittie committed 2017-03-10 23:16:34 +00:00
commit 057de00126
134 files changed
+7527 -2384

No files matched your search

+39 -1
View File
@@ -19,7 +19,11 @@
set -euo pipefail
echo "1..60"
echo "1..63"
$CMD_PREFIX ostree --version > version.yaml
python -c 'import yaml; yaml.safe_load(open("version.yaml"))'
echo "ok yaml version"
$OSTREE checkout test2 checkout-test2
echo "ok checkout"
@@ -115,6 +119,22 @@ omitted_rev=$($OSTREE commit -b test2-no-subject-2 --timestamp="2005-10-29 12:43
assert_streq $empty_rev $omitted_rev
echo "ok commit no subject"
cd ${test_tmpdir}
cat >commitmsg.txt <<EOF
This is a long
commit message.
Build-Host: foo.example.com
Crunchy-With-Extra-Ketchup: true
EOF
$OSTREE commit -b branch-with-commitmsg -F commitmsg.txt -s 'a message' $test_tmpdir/checkout-test2-4
$OSTREE log branch-with-commitmsg > log.txt
assert_file_has_content log.txt '^ *This is a long$'
assert_file_has_content log.txt '^ *Build-Host:.*example.com$'
assert_file_has_content log.txt '^ *Crunchy-With.*true$'
$OSTREE refs --delete branch-with-commitmsg
echo "ok commit body file"
cd ${test_tmpdir}
$OSTREE commit -b test2-custom-parent -s '' $test_tmpdir/checkout-test2-4
$OSTREE commit -b test2-custom-parent -s '' $test_tmpdir/checkout-test2-4
@@ -259,6 +279,24 @@ cd checkout-test2-union
assert_file_has_content ./yet/another/tree/green "leaf"
echo "ok checkout union 1"
cd ${test_tmpdir}
$OSTREE commit -b test-union-add --tree=ref=test2
$OSTREE checkout test-union-add checkout-test-union-add
echo 'file for union add testing' > checkout-test-union-add/union-add-test
echo 'another file for union add testing' > checkout-test-union-add/union-add-test2
$OSTREE commit -b test-union-add --tree=dir=checkout-test-union-add
rm checkout-test-union-add -rf
# Check out previous
$OSTREE checkout test-union-add^ checkout-test-union-add
assert_not_has_file checkout-test-union-add/union-add-test
assert_not_has_file checkout-test-union-add/union-add-test2
# Now create a file we don't want overwritten
echo 'existing file for union add' > checkout-test-union-add/union-add-test
$OSTREE checkout --union-add test-union-add checkout-test-union-add
assert_file_has_content checkout-test-union-add/union-add-test 'existing file for union add'
assert_file_has_content checkout-test-union-add/union-add-test2 'another file for union add testing'
echo "ok checkout union add"
cd ${test_tmpdir}
rm -rf shadow-repo
mkdir shadow-repo
+104 -1
View File
@@ -270,6 +270,106 @@ setup_fake_remote_repo1() {
export OSTREE="${CMD_PREFIX} ostree --repo=repo"
}
# Set up a large repository for stress testing.
# Something like the Fedora Atomic Workstation branch which has
# objects: meta: 7497 content: 103541
# 9443 directories, 7097 symlinks, 112832 regfiles
# So we'll make ~11 files per dir, with one of them a symlink
# Actually, let's cut this down to 1/3 which is still useful. So:
# 3147 dirs, with still ~11 files per dir, for 37610 content objects
setup_exampleos_repo() {
args=${1:-}
cd ${test_tmpdir}
mkdir ostree-srv
mkdir -p ostree-srv/exampleos/{repo,build-repo}
export ORIGIN_REPO=ostree-srv/exampleos/repo
export ORIGIN_BUILD_REPO=ostree-srv/exampleos/build-repo
${CMD_PREFIX} ostree --repo=${ORIGIN_REPO} init --mode=archive
${CMD_PREFIX} ostree --repo=${ORIGIN_BUILD_REPO} init --mode=bare-user
cd ${test_tmpdir}
rm main -rf
mkdir main
cd main
ndirs=3147
depth=0
set +x # No need to spam the logs for this
echo "$(date): Generating initial content..."
while [ $ndirs -gt 0 ]; do
# 2/3 of the time, recurse a dir, up to a max of 9, otherwise back up
x=$(($ndirs % 3))
case $x in
0) if [ $depth -gt 0 ]; then cd ..; depth=$((depth-1)); fi ;;
1|2) if [ $depth -lt 9 ]; then
mkdir dir-${ndirs}
cd dir-${ndirs}
depth=$((depth+1))
else
if [ $depth -gt 0 ]; then cd ..; depth=$((depth-1)); fi
fi ;;
esac
# One symlink - we use somewhat predictable content to have dupes
ln -s $(($x % 20)) link-$ndirs
# 10 files
nfiles=10
while [ $nfiles -gt 0 ]; do
echo file-$ndirs-$nfiles > f$ndirs-$nfiles
# Make an unreadable file to trigger https://github.com/ostreedev/ostree/pull/634
if [ $(($x % 10)) -eq 0 ]; then
chmod 0600 f$ndirs-$nfiles
fi
nfiles=$((nfiles-1))
done
ndirs=$((ndirs-1))
done
cd ${test_tmpdir}
set -x
export REF=exampleos/42/standard
${CMD_PREFIX} ostree --repo=${ORIGIN_BUILD_REPO} commit -b ${REF} --tree=dir=main
rm main -rf
${CMD_PREFIX} ostree --repo=${ORIGIN_BUILD_REPO} checkout ${REF} main
find main > files.txt
nfiles=$(wc -l files.txt | cut -f 1 -d ' ')
# We'll make 5 more commits
for iter in $(seq 5); do
set +x
# Change 10% of files
for fiter in $(seq $(($nfiles / 10))); do
filenum=$(($RANDOM % ${nfiles}))
set +o pipefail
filename=$(tail -n +${filenum} < files.txt | head -1)
set -o pipefail
if test -f $filename; then
rm -f $filename
echo file-${iter}-${fiter} > ${filename}
fi
done
set -x
${CMD_PREFIX} ostree --repo=${ORIGIN_BUILD_REPO} commit --link-checkout-speedup -b ${REF} --tree=dir=main
done
${CMD_PREFIX} ostree --repo=${ORIGIN_REPO} pull-local --depth=-1 ${ORIGIN_BUILD_REPO}
for x in "^^" "^" ""; do
${CMD_PREFIX} ostree --repo=${ORIGIN_REPO} static-delta generate --from="${REF}${x}^" --to="${REF}${x}"
done
${CMD_PREFIX} ostree --repo=${ORIGIN_REPO} summary -u
cd ${test_tmpdir}/ostree-srv
mkdir httpd
${OSTREE_HTTPD} --autoexit --log-file $(pwd)/httpd/httpd.log --daemonize -p httpd/port $args
port=$(cat httpd/port)
echo "http://127.0.0.1:${port}" > httpd/address
cd ${test_tmpdir}
rm repo -rf
${CMD_PREFIX} ostree --repo=repo init --mode=bare-user
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat ostree-srv/httpd/address)/exampleos/repo
export OSTREE="${CMD_PREFIX} ostree --repo=repo"
}
setup_os_boot_syslinux() {
# Stub syslinux configuration
mkdir -p sysroot/boot/loader.0
@@ -438,7 +538,10 @@ skip_without_fuse () {
}
has_gpgme () {
${CMD_PREFIX} ostree --version | grep -q -e '\+gpgme'
${CMD_PREFIX} ostree --version > version.txt
assert_file_has_content version.txt '- gpgme'
rm -f version.txt
true
}
libtest_cleanup_gpg () {
+13 -2
View File
@@ -35,7 +35,7 @@ function verify_initial_contents() {
assert_file_has_content baz/cow '^moo$'
}
echo "1..14"
echo "1..15"
# Try both syntaxes
repo_init
@@ -69,6 +69,16 @@ ${CMD_PREFIX} ostree --repo=mirrorrepo pull --mirror origin main
${CMD_PREFIX} ostree --repo=mirrorrepo fsck
echo "ok pull mirror (should not apply deltas)"
cd ${test_tmpdir}
if ${CMD_PREFIX} ostree --repo=mirrorrepo \
pull origin main --require-static-deltas 2>err.txt; then
assert_not_reached "--require-static-deltas unexpectedly succeeded"
fi
assert_file_has_content err.txt "Can't use static deltas in an archive repo"
${CMD_PREFIX} ostree --repo=mirrorrepo pull origin main
${CMD_PREFIX} ostree --repo=mirrorrepo fsck
echo "ok pull (refuses deltas)"
cd ${test_tmpdir}
rm mirrorrepo/refs/remotes/* -rf
${CMD_PREFIX} ostree --repo=mirrorrepo prune --refs-only
@@ -144,7 +154,8 @@ cd ${test_tmpdir}
repo_init
${CMD_PREFIX} ostree --repo=repo pull origin main@${prev_rev}
${CMD_PREFIX} ostree --repo=repo pull --dry-run --require-static-deltas origin main >dry-run-pull.txt
assert_file_has_content dry-run-pull.txt 'Delta update: 0/1 parts'
# Compression can vary, so we support 400-699
assert_file_has_content dry-run-pull.txt 'Delta update: 0/1 parts, 0 bytes/[456][0-9][0-9] bytes, 455 bytes total uncompressed'
rev=$(${CMD_PREFIX} ostree --repo=repo rev-parse origin:main)
assert_streq "${prev_rev}" "${rev}"
${CMD_PREFIX} ostree --repo=repo fsck
+59
View File
@@ -0,0 +1,59 @@
#!/bin/bash
#
# Copyright (C) 2017 Colin Walters <walters@verbum.org>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# See https://github.com/ostreedev/ostree/pull/642
set -euo pipefail
. $(dirname $0)/libtest.sh
echo "1..1"
setup_os_repository "archive-z2" "syslinux"
cd ${test_tmpdir}
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo remote add --set=gpg-verify=false testos $(cat httpd-address)/ostree/testos-repo
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull testos testos/buildmaster/x86_64-runtime
rev=$(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
parent_rev=$(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse ${rev}^)
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull testos testos/buildmaster/x86_64-runtime@${parent_rev}
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime
assert_has_dir sysroot/ostree/deploy/testos/deploy/${parent_rev}.0
assert_not_has_dir sysroot/ostree/deploy/testos/deploy/${rev}.0
# Do a pull, this one should get us new content
${CMD_PREFIX} ostree admin upgrade --os=testos --pull-only --os=testos > out.txt
assert_not_file_has_content out.txt 'No update available'
# And pull again should still tell us we have new content
${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_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_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
assert_file_has_content out.txt 'No update available'
echo 'ok upgrade --pull-only + --deploy-only'
+22 -3
View File
@@ -26,7 +26,7 @@ skip_without_user_xattrs
bindatafiles="bash true ostree"
morebindatafiles="false ls"
echo '1..11'
echo '1..12'
mkdir repo
${CMD_PREFIX} ostree --repo=repo init --mode=archive-z2
@@ -121,6 +121,14 @@ if ${CMD_PREFIX} ostree --repo=repo static-delta generate --from=${origrev} --to
assert_not_reached "static-delta generate --from=${origrev} --empty unexpectedly succeeded"
fi
${CMD_PREFIX} ostree --repo=temp-repo init --mode=archive
${CMD_PREFIX} ostree --repo=temp-repo pull-local repo
${CMD_PREFIX} ostree --repo=temp-repo static-delta generate --empty --to=${newrev} --filename=some.delta
assert_has_file some.delta
${CMD_PREFIX} ostree --repo=temp-repo static-delta list > delta-list.txt
assert_file_has_content delta-list.txt 'No static deltas'
rm temp-repo -rf
echo 'ok generate'
${CMD_PREFIX} ostree --repo=repo static-delta show ${origrev}-${newrev} > show.txt
@@ -160,7 +168,7 @@ echo 'ok heuristic endian detection'
${CMD_PREFIX} ostree --repo=repo summary -u
mkdir repo2 && ${CMD_PREFIX} ostree --repo=repo2 init --mode=archive-z2
mkdir repo2 && ${CMD_PREFIX} ostree --repo=repo2 init --mode=bare-user
${CMD_PREFIX} ostree --repo=repo2 pull-local --require-static-deltas repo ${newrev}
${CMD_PREFIX} ostree --repo=repo2 fsck
${CMD_PREFIX} ostree --repo=repo2 ls ${newrev} >/dev/null
@@ -228,7 +236,7 @@ echo 'ok generate + show empty delta part'
${CMD_PREFIX} ostree --repo=repo summary -u
rm -rf repo2
mkdir repo2 && ${CMD_PREFIX} ostree --repo=repo2 init --mode=archive-z2
mkdir repo2 && ${CMD_PREFIX} ostree --repo=repo2 init --mode=bare-user
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${newrev}
${CMD_PREFIX} ostree --repo=repo2 pull-local --require-static-deltas repo ${samerev}
${CMD_PREFIX} ostree --repo=repo2 fsck
@@ -236,6 +244,17 @@ ${CMD_PREFIX} ostree --repo=repo2 ls ${samerev} >/dev/null
echo 'ok pull empty delta part'
# Make a new branch to test "rebase deltas"
echo otherbranch-content > files/otherbranch-content
${CMD_PREFIX} ostree --repo=repo commit -b otherbranch --tree=dir=files
samerev=$(${CMD_PREFIX} ostree --repo=repo rev-parse test)
${CMD_PREFIX} ostree --repo=repo static-delta generate --from=test --to=otherbranch
${CMD_PREFIX} ostree --repo=repo summary -u
${CMD_PREFIX} ostree --repo=repo2 pull-local --require-static-deltas repo otherbranch
echo 'ok rebase deltas'
${CMD_PREFIX} ostree --repo=repo summary -u
if ${CMD_PREFIX} ostree --repo=repo static-delta show GARBAGE 2> err.txt; then
assert_not_reached "static-delta show GARBAGE unexpectedly succeeded"
fi
+1 -1
View File
@@ -19,7 +19,7 @@
set -euo pipefail
if ! ostree --version | grep -q -e '\+libarchive'; then
if ! ostree --version | grep -q -e '- libarchive'; then
echo "1..0 #SKIP no libarchive support compiled in"
exit 0
fi
+19 -67
View File
@@ -21,80 +21,32 @@ set -euo pipefail
. $(dirname $0)/libtest.sh
setup_fake_remote_repo1 "archive-z2"
cd ${test_tmpdir}
rm ostree-srv/gnomerepo/ -rf
mkdir ostree-srv/gnomerepo/
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo init --mode=archive
setup_exampleos_repo
echo '1..1'
# Simulate a large archive pull from scratch. Large here is
# something like the Fedora Atomic Workstation branch which has
# objects: meta: 7497 content: 103541
# 9443 directories, 7097 symlinks, 112832 regfiles
# So we'll make ~11 files per dir, with one of them a symlink
echo '1..3'
cd ${test_tmpdir}
rm main -rf
mkdir main
cd main
ndirs=9443
depth=0
echo "$(date): Generating content..."
set +x # No need to spam the logs for this
while [ $ndirs -gt 0 ]; do
# 2/3 of the time, recurse a dir, up to a max of 9, otherwise back up
x=$(($ndirs % 3))
case $x in
0) if [ $depth -gt 0 ]; then cd ..; depth=$((depth-1)); fi ;;
1|2) if [ $depth -lt 9 ]; then
mkdir dir-${ndirs}
cd dir-${ndirs}
depth=$((depth+1))
else
if [ $depth -gt 0 ]; then cd ..; depth=$((depth-1)); fi
fi ;;
esac
# One symlink - we use somewhat predictable content to have dupes
ln -s $(($x % 20)) link-$ndirs
# 10 files
nfiles=10
while [ $nfiles -gt 0 ]; do
echo file-$ndirs-$nfiles > f$ndirs-$nfiles
nfiles=$((nfiles-1))
done
ndirs=$((ndirs-1))
done
set -x
cd ${test_tmpdir}
mkdir build-repo
${CMD_PREFIX} ostree --repo=build-repo init --mode=bare-user
echo "$(date): Committing content..."
${CMD_PREFIX} ostree --repo=build-repo commit -b main -s 'big!' --tree=dir=main
for x in commit dirtree dirmeta file; do
find build-repo/objects -name '*.'${x} |wc -l > ${x}count
echo "$x: " $(cat ${x}count)
done
assert_file_has_content commitcount '^1$'
assert_file_has_content dirmetacount '^1$'
assert_file_has_content filecount '^94433$'
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo pull-local build-repo
echo "$(date): Pulling content..."
rm repo -rf
${CMD_PREFIX} ostree --repo=repo init --mode=archive
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
rev=$(${CMD_PREFIX} ostree --repo=ostree-srv/exampleos/repo rev-parse ${REF})
${CMD_PREFIX} ostree --repo=repo pull --disable-static-deltas origin ${REF}
${CMD_PREFIX} ostree --repo=repo fsck
assert_streq ${rev} $(${CMD_PREFIX} ostree --repo=repo rev-parse ${REF})
${CMD_PREFIX} ostree --repo=repo pull --mirror origin main
echo "ok without deltas"
previous=$(${CMD_PREFIX} ostree --repo=repo rev-parse ${rev}^)
rm repo/refs/{heads,remotes}/* -rf
${CMD_PREFIX} ostree --repo=repo prune --refs-only
${CMD_PREFIX} ostree --repo=repo pull origin ${REF}@${previous}
${CMD_PREFIX} ostree --repo=repo pull --dry-run --require-static-deltas origin ${REF} > output.txt
assert_file_has_content output.txt 'Delta update: 0/1 parts, 0 bytes/1.[012] MB, 1.[345] MB total uncompressed'
echo "ok delta dry-run"
${CMD_PREFIX} ostree --repo=repo pull --require-static-deltas origin ${REF}
assert_streq $(${CMD_PREFIX} ostree --repo=repo rev-parse ${REF}) ${rev}
${CMD_PREFIX} ostree --repo=repo fsck
for x in commit dirtree dirmeta filez; do
find repo/objects -name '*.'${x} |wc -l > ${x}count
echo "$x: " $(cat ${x}count)
done
assert_file_has_content commitcount '^1$'
assert_file_has_content dirmetacount '^1$'
assert_file_has_content filezcount '^94433$'
echo "ok"
+8 -5
View File
@@ -28,12 +28,9 @@ setup_fake_remote_repo1 "archive-z2" "" \
"--expected-cookies foo=bar --expected-cookies baz=badger"
assert_fail (){
set +e
$@
if [ $? = 0 ] ; then
echo 1>&2 "$@ did not fail"; exit 1
if $@; then
(echo 1>&2 "$@ did not fail"; exit 1)
fi
set -euo pipefail
}
cd ${test_tmpdir}
@@ -50,12 +47,16 @@ echo "ok, setup done"
# Add 2 cookies, pull should succeed now
${CMD_PREFIX} ostree --repo=repo remote add-cookie origin 127.0.0.1 / foo bar
${CMD_PREFIX} ostree --repo=repo remote add-cookie origin 127.0.0.1 / baz badger
assert_file_has_content repo/origin.cookies.txt foo.*bar
assert_file_has_content repo/origin.cookies.txt baz.*badger
${CMD_PREFIX} ostree --repo=repo pull origin main
echo "ok, initial cookie pull succeeded"
# Delete one cookie, if successful pulls will fail again
${CMD_PREFIX} ostree --repo=repo remote delete-cookie origin 127.0.0.1 / baz badger
assert_file_has_content repo/origin.cookies.txt foo.*bar
assert_not_file_has_content repo/origin.cookies.txt baz.*badger
assert_fail ${CMD_PREFIX} ostree --repo=repo pull origin main
echo "ok, delete succeeded"
@@ -63,6 +64,8 @@ echo "ok, delete succeeded"
# Re-add the removed cooking and things succeed again, verified the removal
# removed exactly one cookie
${CMD_PREFIX} ostree --repo=repo remote add-cookie origin 127.0.0.1 / baz badger
assert_file_has_content repo/origin.cookies.txt foo.*bar
assert_file_has_content repo/origin.cookies.txt baz.*badger
${CMD_PREFIX} ostree --repo=repo pull origin main
echo "ok, second cookie pull succeeded"
+1 -1
View File
@@ -78,6 +78,6 @@ assert_file_has_content mnt/test2-checkout-copy-fallback/anewfile-for-fuse anewf
if ${CMD_PREFIX} ostree --repo=repo checkout -UH test2 mnt/test2-checkout-copy-hardlinked 2>err.txt; then
assert_not_reached "Checking out via hardlinks across mountpoint unexpectedly succeeded!"
fi
assert_file_has_content err.txt "Invalid cross-device link"
assert_file_has_content err.txt "Unable to do hardlink checkout across devices"
echo "ok checkout copy fallback"
+26
View File
@@ -137,9 +137,35 @@ test_rollsum (void)
test_rollsum_helper (a, MAX_BUFFER_SIZE, b, MAX_BUFFER_SIZE, FALSE);
}
#define BUP_SELFTEST_SIZE 100000
static void
test_bupsplit_sum(void)
{
g_autofree uint8_t *buf = g_malloc (BUP_SELFTEST_SIZE);
uint32_t sum1a, sum1b, sum2a, sum2b, sum3a, sum3b;
unsigned count;
for (count = 0; count < BUP_SELFTEST_SIZE; count++)
buf[count] = g_random_int_range (0, 256);
sum1a = bupsplit_sum(buf, 0, BUP_SELFTEST_SIZE);
sum1b = bupsplit_sum(buf, 1, BUP_SELFTEST_SIZE);
sum2a = bupsplit_sum(buf, BUP_SELFTEST_SIZE - BUP_WINDOWSIZE*5/2,
BUP_SELFTEST_SIZE - BUP_WINDOWSIZE);
sum2b = bupsplit_sum(buf, 0, BUP_SELFTEST_SIZE - BUP_WINDOWSIZE);
sum3a = bupsplit_sum(buf, 0, BUP_WINDOWSIZE+3);
sum3b = bupsplit_sum(buf, 3, BUP_WINDOWSIZE+3);
g_assert_cmpint (sum1a, ==, sum1b);
g_assert_cmpint (sum2a, ==, sum2b);
g_assert_cmpint (sum3a, ==, sum3b);
}
int main (int argc, char **argv)
{
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/rollsum", test_rollsum);
g_test_add_func ("/bupsum", test_bupsplit_sum);
return g_test_run();
}