#! /bin/bash

test_mklabel()
{
	ped_test "mklabel" "mklabel msdos"
}

test_mkpart()
{
	ped_test "mkpart" "mklabel msdos mkpart primary ext2 10 20"
}

test_create_extended_at_start()
{
	ped_test "creating an extended partition at the start of the disk"\
		"mklabel msdos \
		 mkpart extended 0 500"
}


test_mkpartfs()
{
	ped_test "mkpartfs" "mklabel msdos mkpartfs primary ext2 10 20"
}

test_rm()
{
	ped_test "rm" "mklabel msdos mkpart primary ext2 10 20 rm 1"
}

test_too_many_primary()
{
	ped_test_expect_fail "too many primary partitions" \
		"mklabel msdos \
		 mkpart primary ext2 10 20 \
		 mkpart primary ext2 20 30 \
		 mkpart primary ext2 30 40 \
		 mkpart primary ext2 40 50 \
		 mkpart primary ext2 50 60"
}

test_logical_without_extended()
{
	ped_test_expect_fail "logical partitions without extended partition"\
		"mklabel msdos \
		 mkpart logical ext2 10 20"
}

# Parted's constraint solver "corrects" this.  Hmmm... is this wise?
test_logical_outside_extended()
{
	ped_test "correction of logical partitions outside extended partition"\
		"mklabel msdos \
		 mkpart extended 50 100\
		 mkpart logical ext2 90 150"
}

test_shrink_extended_too_far()
{
	ped_test "correction of excessive extended partition shrink"\
		"mklabel msdos \
		 mkpart extended 50 150\
		 mkpart logical ext2 90 110\
		 resize 1 50 100"
}

test_shrink_extended()
{
	ped_test "extended partition shrink"\
		"mklabel msdos \
		 mkpart extended 50 150\
		 mkpart logical ext2 90 110\
		 resize 1 80 110"
}

test_many_logical()
{
	ped_test "many logical partitions"\
		"mklabel msdos \
		 mkpart extended 100 1000 \
		 mkpart logical ext2 100 200 \
		 mkpart logical ext2 200 300 \
		 mkpart logical ext2 300 400 \
		 mkpart logical ext2 400 500 \
		 mkpart logical ext2 500 600 \
		 mkpart logical ext2 600 700 \
		 mkpart logical ext2 700 800"
}

test_primary_overlap()
{
	ped_test "correction of primary partition overlapping"\
		"mklabel msdos \
		 mkpart primary ext2 0 100\
		 mkpart primary ext2 50 150"
}

test_extended_primary_overlap()
{
	ped_test "correction of primary with extended partition overlapping"\
		"mklabel msdos \
		 mkpart extended 1 100\
		 mkpart primary ext2 50 150"
}

test_nonexistent_remove()
{
	ped_test_expect_fail "removal of non-existent partition"\
		"mklabel msdos \
		 rm 1"
}

test_create_small()
{
	ped_test "create small partition"\
		"mklabel msdos \
		 mkpartfs primary ext2 1 2"
}

test_move_primary()
{
	ped_test "move primary partition"\
		"mklabel msdos \
		 mkpartfs primary fat16 0 100 \
		 mkpartfs primary fat16 100 200 \
		 move 1 200 300"
}

test_move_logical()
{
	ped_test "move logical partition"\
		"mklabel msdos \
		 mkpart extended 0 500
		 mkpartfs logical fat16 0 100 \
		 mkpartfs logical fat16 100 200 \
		 move 5 200 300"
}

test_create_end()
{
       ped_test "create partition at end-of-disk"\
	       "mklabel msdos \
		mkpartfs primary ext2 \
		$[TEST_DRIVE_SIZE - 10] $[TEST_DRIVE_SIZE]"
}

main()
{
	if ! test_mklabel; then
		exit 1
	fi

	test_mkpart
	test_create_extended_at_start
	test_mkpartfs
	test_rm
	test_too_many_primary
	test_logical_without_extended
	test_logical_outside_extended
	test_shrink_extended_too_far
	test_shrink_extended
	test_many_logical
	test_primary_overlap
	test_extended_primary_overlap
	test_nonexistent_remove
	test_create_small
	test_move_primary
	test_move_logical
	test_create_end
}

main

