strace/tests/btrfs-vw.test

26 lines
651 B
Plaintext
Raw Normal View History

#!/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
tests: cleanup temporary files removals As every test now runs in its own subdirectory, there is no need to remove leftover files manually by each test. * tests/init.sh (run_strace_match_diff): Do not remove $EXP. * tests/brk.test: Likewise. * tests/options-syntax.test: Likewise. * tests/qual_inject-retval.test (check_injection): Likewise. * tests/qual_signal.test (test_one_sig): Likewise. * tests/sched.test: Likewise. * tests/seccomp-strict.test: Likewise. * tests/strace-V.test: Likewise. * tests/strace-tt.test: Likewise. * tests/strace-ttt.test: Likewise. * tests/threads-execve.test: Likewise. * tests/attach-f-p.test: Use $EXP instead of $OUT, do not remove it. * tests/personality.test: Likewise. * tests/poll.test: Likewise. * tests/fstat.test: Likewise. * tests/ipc.sh: Likewise. * tests/restart_syscall.test: Likewise. * tests/utimensat.test: Likewise. * tests/attach-p-cmd.test: Likewise. Do not remove attach-p-cmd.test-lock. * tests/detach-running.test: Do not remove $LOG. * tests/detach-sleeping.test: Likewise. * tests/detach-stopped.test: Likewise. * tests/redirect.test: Do not remove $OUT. * tests/strace-S.test: Likewise. * tests/getdents.test: Do not remove $LOG.dir. * tests/getdents64.test: Likewise. * tests/readdir.test: Likewise. * tests/btrfs-v.test: Do not remove $EXP and $OUT. * tests/btrfs-vw.test: Likewise. * tests/btrfs-w.test: Likewise. * tests/execve-v.test: Likewise. * tests/execve.test: Likewise. * tests/fadvise64.test: Likewise. * tests/getuid.test: Likewise. * tests/ioctl.test: Likewise. * tests/ioctl_dm-v.test: Likewise. * tests/ioctl_dm.test: Likewise. * tests/ioctl_evdev-v.test: Likewise. * tests/ioctl_loop-nv.test: Likewise. * tests/ioctl_loop-v.test: Likewise. * tests/ioctl_loop.test: Likewise. * tests/ioctl_rtc-v.test: Likewise. * tests/ioctl_sock_gifconf.test: Likewise. * tests/llseek.test: Likewise. * tests/lseek.test: Likewise. * tests/mmap.test: Likewise. * tests/net-y-unix.test: Likewise. * tests/net-yy-inet.test: Likewise. * tests/net-yy-netlink.test: Likewise. * tests/net-yy-unix.test: Likewise. * tests/opipe.test: Likewise. * tests/prctl-arg2-intptr.test: Likewise. * tests/prctl-dumpable.test: Likewise. * tests/prctl-name.test: Likewise. * tests/prctl-no-args.test: Likewise. * tests/prctl-pdeathsig.test: Likewise. * tests/prctl-seccomp-filter-v.test: Likewise. * tests/prctl-seccomp-strict.test: Likewise. * tests/prctl-securebits.test: Likewise. * tests/prctl-tid_address.test: Likewise. * tests/prctl-tsc.test: Likewise. * tests/umovestr2.test: Likewise. * tests/uname.test: Likewise. * tests/pread64-pwrite64.test: Do nore remove pread64-pwrite64-tmpfile. * tests/read-write.test: Do nore remove read-write-tmpfile. * tests/qual_fault.test (check_fault_injection): Do not remove $EXP, $outexp, and $outgot. * tests/redirect-fds.test (check_fd): Reorder removal of work files. * tests/pc.test: Use $EXP instead of $EXPECTED, do not remove it. * tests/strace-t.test: Likewise. * tests/scm_rights-fd.test: Likewise. Use dir instead of $LOG.dir, do not remove it. * tests/strace-ff.test: Do not remove $OUT and $LOG.* files.
2017-04-03 16:24:28 +00:00
check_prog grep
tests: run every test except ksysent.test in its own subdirectory Many test executables create temporary files in the current work directory for the duration of their execution. This level of test isolation allows more test executables to be invoked several times simultaneously. * tests/.gitignore: Add *.dir, remove *.log.*, *.tmp, *.tmp-*, and *.tmp.* patterns. * tests/Makefile.am (clean-local, clean-local-check): New rules. (.PHONY): Add clean-local-check. (CLEANFILES): Remove all but ksysent.h. * tests/init.sh: Strip test-specific prefix from LOG, OUT, and EXP variables. When invoked from a test, create a new test-specific directory, chdir into it, and add more ../ prefix to STRACE variable. (run_prog): Replace "./" with "../". * tests/attach-f-p.test: Replace "./" with "../". * tests/attach-p-cmd.test: Likewise. * tests/bexecve.test: Likewise. * tests/btrfs-v.test: Likewise. * tests/btrfs-vw.test: Likewise. * tests/btrfs-w.test: Likewise. * tests/count.test: Likewise. * tests/detach-running.test: Likewise. * tests/detach-sleeping.test: Likewise. * tests/detach-stopped.test: Likewise. * tests/mmap.test: Likewise. * tests/net-y-unix.test: Likewise. * tests/net-yy-inet.test: Likewise. * tests/net-yy-netlink.test: Likewise. * tests/net-yy-unix.test: Likewise. * tests/net.test: Likewise. * tests/opipe.test: Likewise. * tests/poll.test: Likewise. * tests/prctl-seccomp-strict.test: Likewise. * tests/qual_fault-exit_group.test: Likewise. * tests/qual_fault.test: Likewise. * tests/qual_inject-error-signal.test: Likewise. * tests/qual_inject-retval.test: Likewise. * tests/qual_inject-signal.test: Likewise. * tests/qual_signal.test: Likewise. * tests/qual_syscall.test: Likewise. * tests/readv.test: Likewise. * tests/redirect-fds.test: Likewise. * tests/sched.test: Likewise. * tests/scm_rights-fd.test: Likewise. * tests/seccomp-strict.test: Likewise. * tests/strace-C.test: Likewise. * tests/strace-E.expected: Likewise. * tests/strace-E.test: Likewise. * tests/strace-S.test: Likewise. * tests/strace-T.test: Likewise. * tests/strace-V.test: Likewise. * tests/strace-ff.test: Likewise. * tests/strace-k.test: Likewise. * tests/strace-r.expected: Likewise. * tests/strace-r.test: Likewise. * tests/strace-t.test: Likewise. * tests/strace-tt.test: Likewise. * tests/strace-ttt.test: Likewise. * tests/sun_path.test: Likewise. * tests/uname.test: Likewise. * tests/unix-pair-send-recv.test: Likewise. * tests/unix-pair-sendto-recvfrom.test: Likewise.
2017-04-02 01:03:24 +00:00
run_prog ../btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
run_strace -a16 -veioctl $args > "$EXP"
grep -v '^ioctl([012],' < "$LOG" > "$OUT"
match_diff "$OUT" "$EXP"