tests: add sfdisk --dump test

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2020-02-10 13:20:04 +01:00
parent b7c015d1c5
commit f88034e818
5 changed files with 231 additions and 0 deletions

View File

View File

@ -0,0 +1,48 @@
Checking that no-one is using this disk right now ... OK
Disk <removed>: 100 MiB, 104857600 bytes, 204800 sectors
Disk model: scsi_debug
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / <removed> bytes
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new <removed>.
<removed>1: Created a new <removed>.
<removed>2: Created a new <removed>.
<removed>3: Created a new <removed>.
<removed>4: Created a new <removed>.
<removed>5: Done.
New situation:
Disklabel type: gpt
Disk identifier: <removed>
Device Start End Sectors Size Type
<removed>1 2048 22527 20480 10M Linux filesystem
<removed>2 22528 45055 22528 11M Linux filesystem
<removed>3 45056 69631 24576 12M Linux filesystem
<removed>4 69632 204766 135135 66M Linux filesystem
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Disk <removed>: 100 MiB, 104857600 bytes, 204800 sectors
Disk model: scsi_debug
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / <removed> bytes
Disklabel type: gpt
Disk identifier: <removed>
Start End Size UUID Type Name
2048 22527 10M 28A432A3-8D63-3142-B9F5-68A2BF2BC60B Linux filesystem
22528 45055 11M 6A7D17FC-7252-564A-9B68-5E2107999BF1 Linux filesystem
45056 69631 12M 26C303E4-0321-3346-B9EF-BDD39BEA1166 Linux filesystem
69632 204766 66M AF79D434-C8B3-2445-80FB-317AB157447C Linux filesystem

View File

@ -0,0 +1,47 @@
Checking that no-one is using this disk right now ... OK
Disk <removed>: 100 MiB, 104857600 bytes, 204800 sectors
Disk model: scsi_debug
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / <removed> bytes
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new <removed>.
<removed>1: Created a new <removed>.
<removed>2: Created a new <removed>.
<removed>3: Created a new <removed>.
<removed>4: Created a new <removed>.
<removed>5: Done.
New situation:
Disklabel type: gpt
Disk identifier: <removed>
Device Start End Sectors Size Type
<removed>1 2048 22527 20480 10M Linux filesystem
<removed>2 22528 45055 22528 11M Linux filesystem
<removed>3 45056 69631 24576 12M Linux filesystem
<removed>4 69632 204766 135135 66M Linux filesystem
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Disk <removed>: 100 MiB, 104857600 bytes, 204800 sectors
Disk model: scsi_debug
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / <removed> bytes
Disklabel type: gpt
Disk identifier: <removed>
Start End Size UUID Type Name
2048 22527 10M 28A432A3-8D63-3142-B9F5-68A2BF2BC60B Linux filesystem
22528 45055 11M 6A7D17FC-7252-564A-9B68-5E2107999BF1 Linux filesystem
45056 69631 12M 26C303E4-0321-3346-B9EF-BDD39BEA1166 Linux filesystem
69632 204766 66M AF79D434-C8B3-2445-80FB-317AB157447C Linux filesystem

View File

@ -0,0 +1,48 @@
Checking that no-one is using this disk right now ... OK
Disk <removed>: 100 MiB, 104857600 bytes, 204800 sectors
Disk model: scsi_debug
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / <removed> bytes
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new <removed>.
<removed>1: Created a new <removed>.
<removed>2: Created a new <removed>.
<removed>3: Created a new <removed>.
<removed>4: Created a new <removed>.
<removed>5: Done.
New situation:
Disklabel type: gpt
Disk identifier: <removed>
Device Start End Sectors Size Type
<removed>1 2048 22527 20480 10M Linux filesystem
<removed>2 22528 45055 22528 11M Linux filesystem
<removed>3 45056 69631 24576 12M Linux filesystem
<removed>4 69632 204766 135135 66M Linux filesystem
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Disk <removed>: 100 MiB, 104857600 bytes, 204800 sectors
Disk model: scsi_debug
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / <removed> bytes
Disklabel type: gpt
Disk identifier: <removed>
Start End Size UUID Type Name
2048 22527 10M 28A432A3-8D63-3142-B9F5-68A2BF2BC60B Linux filesystem
22528 45055 11M 6A7D17FC-7252-564A-9B68-5E2107999BF1 Linux filesystem
45056 69631 12M 26C303E4-0321-3346-B9EF-BDD39BEA1166 Linux filesystem
69632 204766 66M AF79D434-C8B3-2445-80FB-317AB157447C Linux filesystem

88
tests/ts/sfdisk/dump Executable file
View File

@ -0,0 +1,88 @@
#!/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.
#
TS_TOPDIR="${0%/*}/../.."
TS_DESC="script"
. $TS_TOPDIR/functions.sh
ts_init "$*"
ts_check_test_command "$TS_CMD_SFDISK"
ts_check_test_command "$TS_CMD_FDISK"
ts_check_test_command "$TS_CMD_WIPEFS"
ts_skip_nonroot
# set global variable TS_DEVICE
ts_scsi_debug_init dev_size_mb=100 sector_size=512 physblk_exp=3
ts_init_subtest "v2.32"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
label: gpt
label-id: 613005F9-1C8C-E141-8AEB-F32E8E296C75
device: ${TS_DEVICE}
unit: sectors
first-lba: 2048
last-lba: 204766
${TS_DEVICE}1 : start= 2048, size= 20480, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=28A432A3-8D63-3142-B9F5-68A2BF2BC60B
${TS_DEVICE}2 : start= 22528, size= 22528, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=6A7D17FC-7252-564A-9B68-5E2107999BF1
${TS_DEVICE}3 : start= 45056, size= 24576, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=26C303E4-0321-3346-B9EF-BDD39BEA1166
${TS_DEVICE}4 : start= 69632, size= 135135, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=AF79D434-C8B3-2445-80FB-317AB157447C
EOF
udevadm settle
$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "v2.35"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
label: gpt
label-id: 613005F9-1C8C-E141-8AEB-F32E8E296C75
device: ${TS_DEVICE}
unit: sectors
first-lba: 2048
last-lba: 204766
sector-size: 512
${TS_DEVICE}1 : start= 2048, size= 20480, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=28A432A3-8D63-3142-B9F5-68A2BF2BC60B
${TS_DEVICE}2 : start= 22528, size= 22528, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=6A7D17FC-7252-564A-9B68-5E2107999BF1
${TS_DEVICE}3 : start= 45056, size= 24576, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=26C303E4-0321-3346-B9EF-BDD39BEA1166
${TS_DEVICE}4 : start= 69632, size= 135135, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=AF79D434-C8B3-2445-80FB-317AB157447C
EOF
udevadm settle
$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "current"
$TS_CMD_SFDISK --dump ${TS_DEVICE} > $TS_OUTPUT.dump 2>> $TS_ERRLOG
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
cat $TS_OUTPUT.dump | $TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
udevadm settle
$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_finalize