forked from josch/mmdebstrap
tests: put temporary files in /tmp and not into CWD
This commit is contained in:
parent
e887a329ab
commit
80ade97458
2 changed files with 25 additions and 25 deletions
|
@ -29,34 +29,34 @@ tar --xattrs --xattrs-include='*' -C /tmp/debian-{{ DIST }}-debootstrap -xf "cac
|
||||||
|
|
||||||
# diff cannot compare device nodes, so we use tar to do that for us and then
|
# diff cannot compare device nodes, so we use tar to do that for us and then
|
||||||
# delete the directory
|
# delete the directory
|
||||||
tar -C /tmp/debian-{{ DIST }}-debootstrap -cf dev1.tar ./dev
|
tar -C /tmp/debian-{{ DIST }}-debootstrap -cf /tmp/dev1.tar ./dev
|
||||||
tar -C /tmp/debian-{{ DIST }}-mm -cf dev2.tar ./dev
|
tar -C /tmp/debian-{{ DIST }}-mm -cf /tmp/dev2.tar ./dev
|
||||||
ret=0
|
ret=0
|
||||||
cmp dev1.tar dev2.tar >&2 || ret=$?
|
cmp /tmp/dev1.tar /tmp/dev2.tar >&2 || ret=$?
|
||||||
if [ "$ret" -ne 0 ]; then
|
if [ "$ret" -ne 0 ]; then
|
||||||
if type diffoscope >/dev/null; then
|
if type diffoscope >/dev/null; then
|
||||||
diffoscope dev1.tar dev2.tar
|
diffoscope /tmp/dev1.tar /tmp/dev2.tar
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "no diffoscope installed" >&2
|
echo "no diffoscope installed" >&2
|
||||||
fi
|
fi
|
||||||
if type base64 >/dev/null; then
|
if type base64 >/dev/null; then
|
||||||
base64 dev1.tar
|
base64 /tmp/dev1.tar
|
||||||
base64 dev2.tar
|
base64 /tmp/dev2.tar
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "no base64 installed" >&2
|
echo "no base64 installed" >&2
|
||||||
fi
|
fi
|
||||||
if type xxd >/dev/null; then
|
if type xxd >/dev/null; then
|
||||||
xxd dev1.tar
|
xxd /tmp/dev1.tar
|
||||||
xxd dev2.tar
|
xxd /tmp/dev2.tar
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "no xxd installed" >&2
|
echo "no xxd installed" >&2
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
rm dev1.tar dev2.tar
|
rm /tmp/dev1.tar /tmp/dev2.tar
|
||||||
rm -r /tmp/debian-{{ DIST }}-debootstrap/dev /tmp/debian-{{ DIST }}-mm/dev
|
rm -r /tmp/debian-{{ DIST }}-debootstrap/dev /tmp/debian-{{ DIST }}-mm/dev
|
||||||
|
|
||||||
# remove downloaded deb packages
|
# remove downloaded deb packages
|
||||||
|
@ -81,14 +81,14 @@ rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/cmethopt
|
||||||
rm /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/arch
|
rm /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/arch
|
||||||
# since we installed packages directly from the .deb files, Priorities differ
|
# since we installed packages directly from the .deb files, Priorities differ
|
||||||
# thus we first check for equality and then remove the files
|
# thus we first check for equality and then remove the files
|
||||||
chroot /tmp/debian-{{ DIST }}-debootstrap dpkg --list > dpkg1
|
chroot /tmp/debian-{{ DIST }}-debootstrap dpkg --list > /tmp/dpkg1
|
||||||
chroot /tmp/debian-{{ DIST }}-mm dpkg --list > dpkg2
|
chroot /tmp/debian-{{ DIST }}-mm dpkg --list > /tmp/dpkg2
|
||||||
diff -u dpkg1 dpkg2 >&2
|
diff -u /tmp/dpkg1 /tmp/dpkg2 >&2
|
||||||
rm dpkg1 dpkg2
|
rm /tmp/dpkg1 /tmp/dpkg2
|
||||||
grep -v '^Priority: ' /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status > status1
|
grep -v '^Priority: ' /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status > /tmp/status1
|
||||||
grep -v '^Priority: ' /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status > status2
|
grep -v '^Priority: ' /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status > /tmp/status2
|
||||||
diff -u status1 status2 >&2
|
diff -u /tmp/status1 /tmp/status2 >&2
|
||||||
rm status1 status2
|
rm /tmp/status1 /tmp/status2
|
||||||
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status
|
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status
|
||||||
# debootstrap exposes the hosts's kernel version
|
# debootstrap exposes the hosts's kernel version
|
||||||
if [ -e /tmp/debian-{{ DIST }}-debootstrap/etc/apt/apt.conf.d/01autoremove-kernels ]; then
|
if [ -e /tmp/debian-{{ DIST }}-debootstrap/etc/apt/apt.conf.d/01autoremove-kernels ]; then
|
||||||
|
|
|
@ -10,6 +10,9 @@ if [ ! -e /mmdebstrap-testenv ]; then
|
||||||
echo "this test requires the cache directory to be mounted on /mnt and should only be run inside a container" >&2
|
echo "this test requires the cache directory to be mounted on /mnt and should only be run inside a container" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
trap "rm -f \"$tmpdir\"/*.deb /tmp/orig.tar /tmp/test1.tar /tmp/test2.tar; rmdir \"$tmpdir\"" EXIT INT TERM
|
||||||
|
|
||||||
include="--include=doc-debian"
|
include="--include=doc-debian"
|
||||||
if [ "{{ VARIANT }}" = "custom" ]; then
|
if [ "{{ VARIANT }}" = "custom" ]; then
|
||||||
include="$include,base-files,base-passwd,coreutils,dash,diffutils,dpkg,libc-bin,sed"
|
include="$include,base-files,base-passwd,coreutils,dash,diffutils,dpkg,libc-bin,sed"
|
||||||
|
@ -18,27 +21,24 @@ fi
|
||||||
--setup-hook='mkdir -p "$1"/var/cache/apt/archives/partial' \
|
--setup-hook='mkdir -p "$1"/var/cache/apt/archives/partial' \
|
||||||
--setup-hook='touch "$1"/var/cache/apt/archives/lock' \
|
--setup-hook='touch "$1"/var/cache/apt/archives/lock' \
|
||||||
--setup-hook='chmod 0640 "$1"/var/cache/apt/archives/lock' \
|
--setup-hook='chmod 0640 "$1"/var/cache/apt/archives/lock' \
|
||||||
{{ DIST }} - {{ MIRROR }} > orig.tar
|
{{ DIST }} - {{ MIRROR }} > /tmp/orig.tar
|
||||||
# somehow, when trying to create a tarball from the 9p mount, tar throws the
|
# somehow, when trying to create a tarball from the 9p mount, tar throws the
|
||||||
# following error: tar: ./doc-debian_6.4_all.deb: File shrank by 132942 bytes; padding with zeros
|
# following error: tar: ./doc-debian_6.4_all.deb: File shrank by 132942 bytes; padding with zeros
|
||||||
# to reproduce, try: tar --directory /mnt/cache/debian/pool/main/d/doc-debian/ --create --file - . | tar --directory /tmp/ --extract --file -
|
# to reproduce, try: tar --directory /mnt/cache/debian/pool/main/d/doc-debian/ --create --file - . | tar --directory /tmp/ --extract --file -
|
||||||
# this will be different:
|
# this will be different:
|
||||||
# md5sum /mnt/cache/debian/pool/main/d/doc-debian/*.deb /tmp/*.deb
|
# md5sum /mnt/cache/debian/pool/main/d/doc-debian/*.deb /tmp/*.deb
|
||||||
# another reason to copy the files into a new directory is, that we can use shell globs
|
# another reason to copy the files into a new directory is, that we can use shell globs
|
||||||
tmpdir=$(mktemp -d)
|
|
||||||
cp /mnt/cache/debian/pool/main/b/busybox/busybox_*"_{{ HOSTARCH }}.deb" /mnt/cache/debian/pool/main/a/apt/apt_*"_{{ HOSTARCH }}.deb" "$tmpdir"
|
cp /mnt/cache/debian/pool/main/b/busybox/busybox_*"_{{ HOSTARCH }}.deb" /mnt/cache/debian/pool/main/a/apt/apt_*"_{{ HOSTARCH }}.deb" "$tmpdir"
|
||||||
{{ CMD }} $include --mode={{ MODE }} --variant={{ VARIANT }} \
|
{{ CMD }} $include --mode={{ MODE }} --variant={{ VARIANT }} \
|
||||||
--setup-hook='mkdir -p "$1"/var/cache/apt/archives/partial' \
|
--setup-hook='mkdir -p "$1"/var/cache/apt/archives/partial' \
|
||||||
--setup-hook='sync-in "'"$tmpdir"'" /var/cache/apt/archives/partial' \
|
--setup-hook='sync-in "'"$tmpdir"'" /var/cache/apt/archives/partial' \
|
||||||
{{ DIST }} - {{ MIRROR }} > test1.tar
|
{{ DIST }} - {{ MIRROR }} > /tmp/test1.tar
|
||||||
cmp orig.tar test1.tar
|
cmp /tmp/orig.tar /tmp/test1.tar
|
||||||
{{ CMD }} $include --mode={{ MODE }} --variant={{ VARIANT }} \
|
{{ CMD }} $include --mode={{ MODE }} --variant={{ VARIANT }} \
|
||||||
--customize-hook='touch "$1"/var/cache/apt/archives/partial' \
|
--customize-hook='touch "$1"/var/cache/apt/archives/partial' \
|
||||||
--setup-hook='mkdir -p "$1"/var/cache/apt/archives/' \
|
--setup-hook='mkdir -p "$1"/var/cache/apt/archives/' \
|
||||||
--setup-hook='sync-in "'"$tmpdir"'" /var/cache/apt/archives/' \
|
--setup-hook='sync-in "'"$tmpdir"'" /var/cache/apt/archives/' \
|
||||||
--setup-hook='chmod 0755 "$1"/var/cache/apt/archives/' \
|
--setup-hook='chmod 0755 "$1"/var/cache/apt/archives/' \
|
||||||
--customize-hook='find "'"$tmpdir"'" -type f -exec md5sum "{}" \; | sed "s|"'"$tmpdir"'"|$1/var/cache/apt/archives|" | md5sum --check' \
|
--customize-hook='find "'"$tmpdir"'" -type f -exec md5sum "{}" \; | sed "s|"'"$tmpdir"'"|$1/var/cache/apt/archives|" | md5sum --check' \
|
||||||
{{ DIST }} - {{ MIRROR }} > test2.tar
|
{{ DIST }} - {{ MIRROR }} > /tmp/test2.tar
|
||||||
cmp orig.tar test2.tar
|
cmp /tmp/orig.tar /tmp/test2.tar
|
||||||
rm "$tmpdir"/*.deb orig.tar test1.tar test2.tar
|
|
||||||
rmdir "$tmpdir"
|
|
||||||
|
|
Loading…
Reference in a new issue