#!/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="MBR" . $TS_TOPDIR/functions.sh ts_init "$*" ts_check_test_command "$TS_CMD_SFDISK" ts_check_test_command "$TS_CMD_WIPEFS" ts_skip_nonroot # set global variable TS_DEVICE ts_scsi_debug_init dev_size_mb=50 sector_size=512 physblk_exp=3 ts_init_subtest "simple-commas" $TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>&1 <> $TS_OUTPUT 2>&1 $TS_CMD_SFDISK --unit S --list ${TS_DEVICE} >> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_init_subtest "simple-space" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>&1 < /dev/null udevadm settle $TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>&1 < /dev/null udevadm settle $TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>&1 <> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE ts_finalize_subtest ts_init_subtest "write-json" $TS_CMD_SFDISK --json ${TS_DEVICE} >> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE ts_finalize_subtest # # Test first LBA smaller than libfdisk default (~1MiB) and small gaps between # logical partitions (just only one sector for EBR). # ts_init_subtest "explicit-size" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>&1 < /dev/null udevadm settle $TS_CMD_SFDISK ${TS_DEVICE} > /dev/null 2>&1 <> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_init_subtest "resize-empty-extended" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK ${TS_DEVICE} > /dev/null 2>&1 <> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_init_subtest "reduce-empty-extended" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK ${TS_DEVICE} > /dev/null 2>&1 <> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_init_subtest "resize-extended" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK ${TS_DEVICE} > /dev/null 2>&1 <> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_init_subtest "resize-logical" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK ${TS_DEVICE} > /dev/null 2>&1 <> $TS_OUTPUT 2>&1 ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_init_subtest "dump-old" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK ${TS_DEVICE} < $TS_SELF/files/dump-old >> $TS_OUTPUT 2>&1 udevadm settle ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_init_subtest "dump-gaps" $TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null udevadm settle $TS_CMD_SFDISK ${TS_DEVICE} < $TS_SELF/files/dump-gaps >> $TS_OUTPUT 2>&1 udevadm settle ts_fdisk_clean $TS_DEVICE udevadm settle ts_finalize_subtest ts_finalize