Johannes Schauer Marin Rodrigues
4c3fddcd54
- multiple individual shell scripts instead of one 3.5k line monster - tests driven by Python script allowing: * declarative test description in coverage.txt * collecting errors instead of aborting on first error * skipping tests * running specific tests
18 lines
776 B
Bash
18 lines
776 B
Bash
#!/bin/sh
|
|
set -eu
|
|
export LC_ALL=C.UTF-8
|
|
if [ ! -e /mmdebstrap-testenv ]; then
|
|
echo "this test modifies the system and should only be run inside a container" >&2
|
|
exit 1
|
|
fi
|
|
adduser --gecos user --disabled-password user
|
|
sysctl -w kernel.unprivileged_userns_clone=1
|
|
homedir=$(runuser -u user -- sh -c 'cd && pwd')
|
|
runuser -u user -- mkdir "$homedir/tmp"
|
|
runuser -u user -- env TMPDIR="$homedir/tmp" {{ CMD }} --mode=unshare --variant=apt \
|
|
--setup-hook='case "$1" in "'"$homedir/tmp/mmdebstrap."'"??????????) exit 0;; *) exit 1;; esac' \
|
|
{{ DIST }} /tmp/debian-chroot.tar {{ MIRROR }}
|
|
tar -tf /tmp/debian-chroot.tar | sort | diff -u tar1.txt -
|
|
# use rmdir as a quick check that nothing is remaining in TMPDIR
|
|
runuser -u user -- rmdir "$homedir/tmp"
|
|
rm /tmp/debian-chroot.tar
|