* tests/t4100-msdos-starting-sector.sh : Make sure we are consistent when displaying starting sector for msdos lables. --- tests/Makefile.am | 1 + tests/t4100-msdos-starting-sector.sh | 84 ++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 0 deletions(-) create mode 100755 tests/t4100-msdos-starting-sector.sh
diff --git a/tests/Makefile.am b/tests/Makefile.am index 0beedd4..2931e98 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -15,6 +15,7 @@ TESTS = \ t4000-sun-raid-type.sh \ t4100-msdos-partition-limits.sh \ t4100-dvh-partition-limits.sh \ + t4100-msdos-starting-sector.sh \ t4200-partprobe.sh \ t5000-tags.sh \ t6000-dm.sh \ diff --git a/tests/t4100-msdos-starting-sector.sh b/tests/t4100-msdos-starting-sector.sh new file mode 100755 index 0000000..068a438 --- /dev/null +++ b/tests/t4100-msdos-starting-sector.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +# Copyright (C) 2008 Free Software Foundation, Inc. + +# This program 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 3 of the License, or +# (at your option) any later version. + +# This program 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. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +test_description='Consistency in msdos free space starting sector.' + +: ${srcdir=.} +. $srcdir/test-lib.sh + +###################################################################### +# parted 1.8.8.1 and earlier was inconsistent when calculating the +# start sector for free space in msdos type lables. parted was not +# consistent in the use of metadata padding for msdos labels. +###################################################################### + +N=100 +dev=loop-file +test_expect_success \ + 'create a file to simulate the underlying device' \ + 'dd if=/dev/zero of=$dev bs=1K count=$N 2> /dev/null' + +test_expect_success \ + 'label the test disk' \ + 'parted -s $dev mklabel msdos > out 2>&1' +test_expect_success 'expect no output' 'compare out /dev/null' + +# Test the output of print free with no partitions. +fail=0 +cat <<EOF > exp || fail=1 +BYT; +$dev:200s:file:512:512:msdos:; +1:32s:127s:96s:free; +EOF + +test_expect_success 'create expected output file' 'test $fail = 0' + +test_expect_success \ + 'display output of label without partitions' \ + 'parted -m -s $dev unit s print free> t 2>&1 && + sed 's,.*/$dev:,$dev:,' t > out' + +test_expect_success \ + 'check for expected output' \ + 'compare out exp' + +# Test the output of print free with one partition. +fail=0 +cat <<EOF > exp || fail=1 +BYT; +loop-file:200s:file:512:512:msdos:; +1:32s:96s:65s:free; +1:97s:195s:99s:::; +EOF + +test_expect_success 'create expected output file' 'test $fail = 0' + +test_expect_success \ + 'create a partition at the end of the label' \ + 'parted -s $dev mkpart primary 50K 100K > out 2>&1' +test_expect_success 'expect no output' 'compare out /dev/null' + +test_expect_success \ + 'display output of label with partition' \ + 'parted -m -s $dev unit s print free > t 2>&1 + sed 's,.*/$dev:,$dev:,' t > out' + +test_expect_success \ + 'check for expected output' \ + 'compare out exp' + +test_done -- 1.6.0.6 _______________________________________________ parted-devel mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/parted-devel

