summaryrefslogtreecommitdiffstats
path: root/debian/tests/unsorted-packages-files
blob: f039690d4977b7e3f1b90d958087761f5afd90bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh

# This test runs the mitm.py Flask app which debootstrap is then pointed at.
# mitm.py will return a Packages file which has an additional `apt` stanza
# prepended, with the Version and Filename adjusted to point at a lower,
# non-existent version.  Versions of debootstrap which process _all_ Packages
# files entries will find the original stanza later in the file (and
# succesfully fetch the corresponding package file): versions that don't will
# find the prepended stanza and fail (with a 404 of the nonexistent package
# file).

export FLASK_ARCH="$(dpkg --print-architecture)"
export FLASK_DIST=testing
export FLASK_DISTRO=debian
export FLASK_MIRROR=http://deb.debian.org
export PATH=$PATH:/usr/sbin

# Launch our MitM "mirror" server, ensure that request logging is sent to stdout
PYTHONDONTWRITEBYTECODE=true FLASK_APP=debian/tests/mitm.py flask run 2>&1 &
flask_pid=$!

# Give Flask time to come up
sleep 2

tempdir=$(mktemp -d)
# Run debootstrap against our MitM "mirror", ignoring the inevitable GPG errors
debootstrap --download-only --variant minbase --no-check-gpg ${FLASK_DIST} $tempdir http://127.0.0.1:5000/${FLASK_DISTRO}/
rc=$?

rm -rf $tempdir
kill $flask_pid

exit $rc