#! /bin/bash

# fai-diskimage
# Depends fai-setup-storage
# apt -o APT::Install-Suggests=0 -o APT::Install-Recommends=0 install fai-setup-storage

set -e

. ./debian/tests/common.sh
cd "$AUTOPKGTEST_TMP"

chk-loop-device

trap "cp -vap /var/log/fai/cloud3 diskimage.log $AUTOPKGTEST_ARTIFACTS" INT QUIT EXIT

cl="DEBIAN,BUSTER64,AMD64,FAIBASE,GRUB_PC,DHCPC,DEMO,CLOUD,LAST"
LC_ALL=C fai-diskimage -vu cloud3 -S2G -c$cl cloud.raw  >& diskimage.log


# test the results of the commands called
chk-size cloud.raw 860

mount -oloop,ro,offset=1048576 cloud.raw /mnt
chk-size /mnt/boot 38
chk-file /mnt/etc/network/interfaces.d/eth0
chk-file /mnt/etc/rc.local

echo 'd41d8cd98f00b204e9800998ecf8427e  /mnt/etc/machine-id' > /tmp/zerocheck
md5sum -c /tmp/zerocheck
rm /tmp/zerocheck

chk-no-file /mnt/var/lib/dbus/machine-id
chk-no-file /mnt/etc/udev/rules.d/70-persistent-net.rules
chk-no-file /mnt/etc/resolv.conf
chk-no-file /mnt/etc/ssh/ssh_host_ed25519_key
chk-no-file /mnt/etc/ssh/ssh_host_ecdsa_key

umount /mnt

if grep -q FAILED $ch/var/log/fai/cloud3/last/status.log; then
    error "fai-diskimage failed. See status.log"
fi

rm cloud.raw
