]> granicus.if.org Git - strace/commitdiff
tests: check decoding of btrfs RDWR ioctls returned data
authorJeff Mahoney <jeffm@suse.com>
Fri, 27 May 2016 03:33:06 +0000 (23:33 -0400)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 27 May 2016 08:54:32 +0000 (08:54 +0000)
* tests/btrfs-vw.test: New file.
* tests/btrfs-w.test: New file.
* tests/Makefile.am (DECODER_TESTS): Add them.

tests/Makefile.am
tests/btrfs-vw.test [new file with mode: 0755]
tests/btrfs-w.test [new file with mode: 0755]

index 4c1ecdcc945a4dda4c0f6e8b72d89697de1b3f08..d52b27080c1da426f62f3917d9230f26ab585e55 100644 (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 \
diff --git a/tests/btrfs-vw.test b/tests/btrfs-vw.test
new file mode 100755 (executable)
index 0000000..c7e40ad
--- /dev/null
@@ -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
diff --git a/tests/btrfs-w.test b/tests/btrfs-w.test
new file mode 100755 (executable)
index 0000000..6238dca
--- /dev/null
@@ -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