#!/bin/bash

#
# test for mount -o remount,ro
#
. commands.sh
. functions.sh

TS_COMPONENT="mount"
TS_DESC="remount"

ts_init "$*"
ts_skip_nonroot

# mountpoint
[ -d $TS_MOUNTPOINT ] || mkdir -p $TS_MOUNTPOINT

DEVICE=$(ts_device_init)
[ "$?" == 0 ] || ts_die "Cannot init device"

mkfs.ext2 $DEVICE &> /dev/null
[ "$?" == "0" ] || ts_die "Cannot make ext2 on $DEVICE" $DEVICE

# mount read-write
$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT
[ "$?" == "0" ] || ts_die "Cannot mount $TS_MOUNTPOINT" $DEVICE

# check the mount
egrep -q "^$DEVICE $TS_MOUNTPOINT" /etc/mtab
[ "$?" == "0" ] || ts_die "Cannot found $TS_MOUNTPOINT in /etc/mtab" $DEVICE

# remount
$TS_CMD_MOUNT -o remount,ro $TS_MOUNTPOINT
[ "$?" == "0" ] || ts_die "Cannot remount $TS_MOUNTPOINT" $DEVICE

# check the remount
egrep -q "^$DEVICE $TS_MOUNTPOINT ext2 ro 0 0" /etc/mtab
[ "$?" == "0" ] || ts_die "Cannot found remounted $TS_MOUNTPOINT in /etc/mtab" $DEVICE

ts_device_deinit $DEVICE

ts_log "Success"
ts_finalize

