#! /bin/bash

do_diff()
{
	mount "${TEST_DRIVE}1" $TEST_MOUNT_POINT -t reiserfs > /dev/null

	if diff -rq $1 $2 --exclude lost+found >> test_log; then
		ped_test_ok
	else
		ped_test_failed
	fi

	umount $TEST_MOUNT_POINT 2>&1 > /dev/null
}

do_test_diff()
{
	ped_testing "$1"
	if ped_test_get_val "$4" "$5" "$6"; then
		ped_test_failed
		return 1
	fi
	do_diff "$2" "$3"
}

test_mkpartfs()
{
	ped_test "mkpartfs primary reiserfs 1 1"\
		"mklabel $TEST_FS_USE_DISK_LABEL\
		 mkpartfs primary reiserfs 1 1\
		 check 1"\
		"echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1"

	ped_test "mkpartfs"\
		"mklabel $TEST_FS_USE_DISK_LABEL\
		mkpartfs primary reiserfs 1 $DEFAULT_END\
		check 1"\
		"echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1"

	ped_test "mkfs"\
		"mkfs 1 reiserfs\
		 check 1"\
		"echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1"
}

prepare_resize_tests()
{
	part_num=1
	part=$TEST_DRIVE$part_num

	umount $TEST_MOUNT_POINT 2>&1 > /dev/null

	mount $part $TEST_MOUNT_POINT -t reiserfs \
	&& cp $TEST_DATA/* $TEST_MOUNT_POINT -r
	umount $TEST_MOUNT_POINT 2>&1 > /dev/null
}

test_resize_move_end_forward()
{
	do_test_diff "resize: move end forward"\
		$TEST_DATA $TEST_MOUNT_POINT \
		"resize 1 1 $[ $DEFAULT_END + 5 ] check 1"\
		"echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1"
}

test_resize_move_end_forward_big()
{
	do_test_diff "resize: move end forward (big)"\
		$TEST_DATA $TEST_MOUNT_POINT \
		"resize 1 1 $[ $DEFAULT_END + 200 ] check 1"\
		"echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1"
}

test_resize_move_end_backward()
{
	do_test_diff "resize: move end backward"\
		$TEST_DATA $TEST_MOUNT_POINT \
		"resize 1 1 $DEFAULT_END check 1"\
		"echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1"
}

main()
{
	export DEFAULT_END=200

	if ! test_mkpartfs; then
		return 1
	fi

	prepare_resize_tests
	test_resize_move_end_forward
	test_resize_move_end_backward
	test_resize_move_end_forward_big
	test_resize_move_end_backward
}

main

