tests: check decoding of btrfs RDWR ioctls returned data

* tests/btrfs-vw.test: New file.
* tests/btrfs-w.test: New file.
* tests/Makefile.am (DECODER_TESTS): Add them.
This commit is contained in:
Jeff Mahoney 2016-05-26 23:33:06 -04:00 committed by Dmitry V. Levin
parent fd70b501f6
commit 826b7978ec
3 changed files with 60 additions and 0 deletions

View File

@ -372,6 +372,8 @@ DECODER_TESTS = \
brk.test \
btrfs.test \
btrfs-v.test \
btrfs-w.test \
btrfs-vw.test \
caps.test \
chmod.test \
chown.test \

29
tests/btrfs-vw.test Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
# Check verbose decoding of btrfs ioctl w/ live ioctls.
# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM
# Typical usage:
# mkfs.btrfs <dev>
# mount <dev> /mnt
# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-vw"
# umount /mnt
. "${srcdir=.}/init.sh"
if [ -z "${BTRFS_MOUNTPOINT}" ]; then
skip_ "\$BTRFS_MOUNTPOINT not set"
elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then
skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
fi
run_prog ./btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
run_strace -a16 -veioctl $args > "$EXP"
check_prog grep
grep -v '^ioctl([012],' < "$LOG" > "$OUT"
match_diff "$OUT" "$EXP"
rm -f "$EXP" "$OUT"
exit 0

29
tests/btrfs-w.test Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
# Check decoding of btrfs ioctl w/ live ioctls.
# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM
# Typical usage:
# mkfs.btrfs <dev>
# mount <dev> /mnt
# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-w"
# umount /mnt
. "${srcdir=.}/init.sh"
if [ -z "${BTRFS_MOUNTPOINT}" ]; then
skip_ "\$BTRFS_MOUNTPOINT not set"
elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then
skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
fi
run_prog ./btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
run_strace -a16 -eioctl $args > "$EXP"
check_prog grep
grep -v '^ioctl([012],' < "$LOG" > "$OUT"
match_diff "$OUT" "$EXP"
rm -f "$EXP" "$OUT"
exit 0