diff --git a/tests/check-against-debootstrap-dist b/tests/check-against-debootstrap-dist index 95ce307..ee657b3 100644 --- a/tests/check-against-debootstrap-dist +++ b/tests/check-against-debootstrap-dist @@ -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 # delete the directory -tar -C /tmp/debian-{{ DIST }}-debootstrap -cf dev1.tar ./dev -tar -C /tmp/debian-{{ DIST }}-mm -cf dev2.tar ./dev +tar -C /tmp/debian-{{ DIST }}-debootstrap -cf /tmp/dev1.tar ./dev +tar -C /tmp/debian-{{ DIST }}-mm -cf /tmp/dev2.tar ./dev ret=0 -cmp dev1.tar dev2.tar >&2 || ret=$? +cmp /tmp/dev1.tar /tmp/dev2.tar >&2 || ret=$? if [ "$ret" -ne 0 ]; then if type diffoscope >/dev/null; then - diffoscope dev1.tar dev2.tar + diffoscope /tmp/dev1.tar /tmp/dev2.tar exit 1 else echo "no diffoscope installed" >&2 fi if type base64 >/dev/null; then - base64 dev1.tar - base64 dev2.tar + base64 /tmp/dev1.tar + base64 /tmp/dev2.tar exit 1 else echo "no base64 installed" >&2 fi if type xxd >/dev/null; then - xxd dev1.tar - xxd dev2.tar + xxd /tmp/dev1.tar + xxd /tmp/dev2.tar exit 1 else echo "no xxd installed" >&2 fi exit 1 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 # 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 # since we installed packages directly from the .deb files, Priorities differ # thus we first check for equality and then remove the files -chroot /tmp/debian-{{ DIST }}-debootstrap dpkg --list > dpkg1 -chroot /tmp/debian-{{ DIST }}-mm dpkg --list > dpkg2 -diff -u dpkg1 dpkg2 >&2 -rm dpkg1 dpkg2 -grep -v '^Priority: ' /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status > status1 -grep -v '^Priority: ' /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status > status2 -diff -u status1 status2 >&2 -rm status1 status2 +chroot /tmp/debian-{{ DIST }}-debootstrap dpkg --list > /tmp/dpkg1 +chroot /tmp/debian-{{ DIST }}-mm dpkg --list > /tmp/dpkg2 +diff -u /tmp/dpkg1 /tmp/dpkg2 >&2 +rm /tmp/dpkg1 /tmp/dpkg2 +grep -v '^Priority: ' /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status > /tmp/status1 +grep -v '^Priority: ' /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status > /tmp/status2 +diff -u /tmp/status1 /tmp/status2 >&2 +rm /tmp/status1 /tmp/status2 rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status /tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status # debootstrap exposes the hosts's kernel version if [ -e /tmp/debian-{{ DIST }}-debootstrap/etc/apt/apt.conf.d/01autoremove-kernels ]; then diff --git a/tests/compare-output-with-pre-seeded-var-cache-apt-archives b/tests/compare-output-with-pre-seeded-var-cache-apt-archives index edb8a60..8ed57c7 100644 --- a/tests/compare-output-with-pre-seeded-var-cache-apt-archives +++ b/tests/compare-output-with-pre-seeded-var-cache-apt-archives @@ -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 exit 1 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" if [ "{{ VARIANT }}" = "custom" ]; then 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='touch "$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 # 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 - # this will be different: # 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 -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" {{ CMD }} $include --mode={{ MODE }} --variant={{ VARIANT }} \ --setup-hook='mkdir -p "$1"/var/cache/apt/archives/partial' \ --setup-hook='sync-in "'"$tmpdir"'" /var/cache/apt/archives/partial' \ - {{ DIST }} - {{ MIRROR }} > test1.tar -cmp orig.tar test1.tar + {{ DIST }} - {{ MIRROR }} > /tmp/test1.tar +cmp /tmp/orig.tar /tmp/test1.tar {{ CMD }} $include --mode={{ MODE }} --variant={{ VARIANT }} \ --customize-hook='touch "$1"/var/cache/apt/archives/partial' \ --setup-hook='mkdir -p "$1"/var/cache/apt/archives/' \ --setup-hook='sync-in "'"$tmpdir"'" /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' \ - {{ DIST }} - {{ MIRROR }} > test2.tar -cmp orig.tar test2.tar -rm "$tmpdir"/*.deb orig.tar test1.tar test2.tar -rmdir "$tmpdir" + {{ DIST }} - {{ MIRROR }} > /tmp/test2.tar +cmp /tmp/orig.tar /tmp/test2.tar