#!/bin/bash
#
# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
#
# This file is part of util-linux-ng.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
TS_TOPDIR="$(dirname $0)/../.."
TS_DESC="mkfs"

. $TS_TOPDIR/functions.sh
ts_init "$*"
ts_skip_nonroot

set -o pipefail

IMAGE="$TS_OUTDIR/${TS_TESTNAME}-loop.img"
DEVICE=$(ts_device_init)

ts_log "create minix fs"
$TS_CMD_MKMINIX $DEVICE 2>&1 >> $TS_OUTPUT

ts_log "create mountpoint dir"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT

ts_log "mount the filesystem"
$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT

# check it
ts_is_mounted $DEVICE || ts_die "Cannot found $DEVICE in /proc/mounts" $DEVICE

ts_log "umount the image"
$TS_CMD_UMOUNT $DEVICE
ts_device_deinit $DEVICE
ts_finalize

