From: Jeff Mahoney Date: Fri, 27 May 2016 03:33:06 +0000 (-0400) Subject: tests: check decoding of btrfs RDWR ioctls returned data X-Git-Tag: v4.12~36 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=826b7978ec021e79377c370e3894ad8d3479e572;p=strace 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. --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 4c1ecdcc..d52b2708 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 \ diff --git a/tests/btrfs-vw.test b/tests/btrfs-vw.test new file mode 100755 index 00000000..c7e40ad7 --- /dev/null +++ b/tests/btrfs-vw.test @@ -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 +# mount /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 diff --git a/tests/btrfs-w.test b/tests/btrfs-w.test new file mode 100755 index 00000000..6238dca8 --- /dev/null +++ b/tests/btrfs-w.test @@ -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 +# mount /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