diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..6aa0b58 --- /dev/null +++ b/test.sh @@ -0,0 +1,43 @@ +#!/usr/env/bin bash + +set -e + +DISKFILE="/tmp/disk.img" +BINFILE="/tmp/file.bin" +LOOPNUM=$((RANDOM % 156 + 100)) +LOOPDEV="/dev/loop${LOOPNUM}" + +echo "Using device: ${LOOPDEV}" + +cleanup() { + echo "Cleaning up..." + set +e + sudo losetup -d ${LOOPDEV} + sudo rm ${LOOPDEV} + sudo rm ${BINFILE} ${DISKFILE} +} + +trap cleanup EXIT INT TERM + +if losetup ${LOOPDEV} >/dev/null 2>&1; then + echo "${LOOPDEV} already in use" >&2 + cleanup + exit 1 +fi + +if [ ! -f ${DISKFILE} ]; then + dd if=/dev/zero of=${DISKFILE} bs=1M count=256 +fi + +if [ ! -f ${BINFILE} ]; then + dd if=/dev/urandom of=${BINFILE} bs=1M count=64 +fi + +if [ ! -e ${LOOPDEV} ]; then + sudo losetup ${LOOPDEV} ${DISKFILE} +fi + +sudo ./writeimg -nd ${LOOPDEV} ${BINFILE} +sudo ./writeimg -vnd ${LOOPDEV} ${BINFILE} + +echo "Looks good!"