#!/bin/bash
#
# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
#
# This file is part of util-linux.
#
# 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="${0%/*}/../.."
TS_DESC="mkfs mount"

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

ts_check_test_command "$TS_CMD_MKMINIX"
ts_check_test_command "$TS_CMD_MOUNT"
ts_check_test_command "$TS_CMD_UMOUNT"
ts_skip_nonroot

ts_scsi_debug_init dev_size_mb=10 num_parts=1
dev=${TS_DEVICE}1

# hotfix, wait for partition to appear (slow on Debian 7/linux-3.2)
test -b $dev || sleep 1

mkfs_and_mount_minix() {
	ts_init_subtest $1
	ts_log "create minix fs $2"
	$TS_CMD_MKMINIX $2 $dev >> $TS_OUTPUT 2>&1
	echo "mkfs return value: $?" >> $TS_OUTPUT
	udevadm settle
	[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
	ts_mount "minix" $dev $TS_MOUNTPOINT
	ts_is_mounted $dev || ts_die "Cannot find $dev in /proc/mounts"
	ts_log "umount the image"
	udevadm settle
	$TS_CMD_UMOUNT $dev
	ts_finalize_subtest
}

mkfs_and_mount_minix 'v1c14' '-1 -n 14'
mkfs_and_mount_minix 'v1c30' '-1 -n 30'
mkfs_and_mount_minix 'v2c14' '-2 -n 14'
mkfs_and_mount_minix 'v2c30' '-2 -n 30'
mkfs_and_mount_minix 'v2i65535' '-2 -i 65535'
mkfs_and_mount_minix 'v3c60' '-3 -n 60'

ts_finalize

