| #! /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 |
| |