btrfs-progs/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh
David Sterba 6572f884ba btrfs-progs: tests: use the root helper for various info retrieval commands
The current user might not be able to peek into the loop files directly,
use the helper. Discovered by running tests in travis.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-23 10:51:21 +01:00

41 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# a long device name must pass the SSD test
source $TOP/tests/common
check_prereq mkfs.btrfs
setup_root_helper
prepare_test_dev
# prep device
dmname=\
btrfs-test-with-very-long-name-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
dmdev=/dev/mapper/$dmname
run_check truncate -s0 img
chmod a+w img
run_check truncate -s2g img
loopdev=`run_check_stdout $SUDO_HELPER losetup --find --show img`
run_check $SUDO_HELPER dmsetup create $dmname --table "0 1048576 linear $loopdev 0"
dmbase=`readlink -f $dmdev`
base=`basename "$dmbase"`
rot=/sys/class/block/$base/queue/rotational
# switch rotational
run_check cat $rot
echo 0 | run_check $SUDO_HELPER tee $rot
run_check cat $rot
# test
run_check_stdout $SUDO_HELPER $TOP/mkfs.btrfs -f $@ $dmdev |
grep -q 'SSD detected:.*yes' || _fail 'SSD not detected'
run_check $SUDO_HELPER $TOP/btrfs inspect-internal dump-super $dmdev
# cleanup
run_check $SUDO_HELPER dmsetup remove $dmname
run_mayfail $SUDO_HELPER losetup -d $loopdev
run_check truncate -s0 img