The command lines used for this change: $ cd tests/ts $ sed -i -e 's|. $TS_SELF/|. "$TS_SELF"/|' $(grep --exclude='*~' -lr -e '^\. \$TS_SELF/') $ sed -i -e 's|. $TS_TOPDIR/functions.sh|. "$TS_TOPDIR"/functions.sh|' $(grep --exclude='*~' -lr -e '^\. \$TS_TOPDIR/functions.sh') Signed-off-by: Masatake YAMATO <yamato@redhat.com>
225 lines
6.1 KiB
Bash
Executable file
225 lines
6.1 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# This file is part of util-linux.
|
|
#
|
|
# This file 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 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This file 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.
|
|
#
|
|
#
|
|
# Create partition in non-interactive mode; like mkpart, but partition is fully
|
|
# specifuied by partno, start and size.
|
|
#
|
|
|
|
TS_TOPDIR="${0%/*}/../.."
|
|
TS_DESC="mkpart-full"
|
|
|
|
. "$TS_TOPDIR"/functions.sh
|
|
ts_init "$*"
|
|
|
|
TESTPROG="$TS_HELPER_LIBFDISK_MKPART_FULLSPEC"
|
|
ts_check_test_command "$TESTPROG"
|
|
ts_check_test_command "$TS_CMD_SFDISK"
|
|
ts_check_test_command "$TS_CMD_WIPEFS"
|
|
|
|
TEST_IMAGE_NAME=$(ts_image_init 15)
|
|
|
|
ts_init_subtest "mbr-primary"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
3,6144,2048 \
|
|
4,8192,22528 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
|
|
ts_init_subtest "mbr-primary-nopartno"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} -- \
|
|
-,2048,2048 \
|
|
-,4096,2048 \
|
|
-,6144,2048 \
|
|
-,8192,22528 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
## no extended but partno > 4 requested
|
|
ts_init_subtest "mbr-err-primary"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
7,6144,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
## no extended but partno > 4 requested
|
|
ts_init_subtest "mbr-err-nospace"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
3,4096,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
|
|
ts_init_subtest "mbr-logical"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
3,6144,2048 \
|
|
4,8192,22528 \
|
|
5,10240,2048 \
|
|
6,14336,2048 \
|
|
7,18432,12288 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
ts_init_subtest "mbr-nopartno"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} -- \
|
|
-,2048,2048 \
|
|
-,4096,2048 \
|
|
-,6144,2048 \
|
|
-,8192,22528 \
|
|
-,10240,2048 \
|
|
-,14336,2048 \
|
|
-,18432,12288 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
### 6th partition (logical) out of extended
|
|
ts_init_subtest "mbr-err-logical"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
3,6144,2048 \
|
|
4,8192,22528 \
|
|
5,10240,2048 \
|
|
6,4096,2048 \
|
|
7,18432,12288 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
ts_init_subtest "mbr-space-gap"
|
|
ts_run $TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,6144,2048 \
|
|
3,8192,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
ts_init_subtest "gpt"
|
|
ts_run $TESTPROG --label gpt --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
3,6144,2048 \
|
|
4,8192,2048 \
|
|
5,10240,2048 \
|
|
6,12288,2048 \
|
|
7,14336,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
ts_init_subtest "gpt-nopartno"
|
|
ts_run $TESTPROG --label gpt --device ${TEST_IMAGE_NAME} -- \
|
|
-,2048,2048 \
|
|
-,4096,2048 \
|
|
-,6144,2048 \
|
|
-,8192,2048 \
|
|
-,10240,2048 \
|
|
-,12288,2048 \
|
|
-,14336,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
### 4th partition overlap 4th and 5th
|
|
ts_init_subtest "gpt-err-overlap"
|
|
ts_run $TESTPROG --label gpt --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
3,6144,2048 \
|
|
4,5000,2048 \
|
|
5,10240,2048 \
|
|
6,12288,2048 \
|
|
7,14336,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
ts_init_subtest "gpt-partno-gap"
|
|
ts_run $TESTPROG --label gpt --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,4096,2048 \
|
|
4,6144,2048 \
|
|
5,8192,2048 \
|
|
7,10240,2048 \
|
|
8,12288,2048 \
|
|
9,14336,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
$TS_CMD_WIPEFS --all --force ${TEST_IMAGE_NAME} &> /dev/null
|
|
|
|
ts_init_subtest "gpt-space-gap"
|
|
ts_run $TESTPROG --label gpt --device ${TEST_IMAGE_NAME} \
|
|
1,2048,2048 \
|
|
2,6144,2048 \
|
|
3,8192,2048 \
|
|
4,12288,2048 \
|
|
5,14336,2048 \
|
|
>> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
|
|
ts_fdisk_clean ${TEST_IMAGE_NAME}
|
|
ts_finalize_subtest
|
|
|
|
ts_finalize
|