xref: /aosp_15_r20/external/strace/tests-m32/btrfs-wX.test (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker#!/bin/sh
2*cf84ac9aSAndroid Build Coastguard Worker
3*cf84ac9aSAndroid Build Coastguard Worker# Check verbose xlat decoding of btrfs ioctl w/ live ioctls.
4*cf84ac9aSAndroid Build Coastguard Worker
5*cf84ac9aSAndroid Build Coastguard Worker# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM
6*cf84ac9aSAndroid Build Coastguard Worker
7*cf84ac9aSAndroid Build Coastguard Worker# Typical usage:
8*cf84ac9aSAndroid Build Coastguard Worker# mkfs.btrfs <dev>
9*cf84ac9aSAndroid Build Coastguard Worker# mount <dev> /mnt
10*cf84ac9aSAndroid Build Coastguard Worker# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-wX"
11*cf84ac9aSAndroid Build Coastguard Worker# umount /mnt
12*cf84ac9aSAndroid Build Coastguard Worker
13*cf84ac9aSAndroid Build Coastguard Worker. "${srcdir=.}/init.sh"
14*cf84ac9aSAndroid Build Coastguard Worker
15*cf84ac9aSAndroid Build Coastguard Workerif [ -z "${BTRFS_MOUNTPOINT}" ]; then
16*cf84ac9aSAndroid Build Coastguard Worker    skip_ "\$BTRFS_MOUNTPOINT not set"
17*cf84ac9aSAndroid Build Coastguard Workerelif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then
18*cf84ac9aSAndroid Build Coastguard Worker    skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
19*cf84ac9aSAndroid Build Coastguard Workerfi
20*cf84ac9aSAndroid Build Coastguard Worker
21*cf84ac9aSAndroid Build Coastguard Workercheck_prog grep
22*cf84ac9aSAndroid Build Coastguard Workerrun_prog ../btrfs -w -X "${BTRFS_MOUNTPOINT}" > /dev/null
23*cf84ac9aSAndroid Build Coastguard Workerrun_strace -a16 -Xverbose -eioctl $args > "$EXP"
24*cf84ac9aSAndroid Build Coastguard Workergrep -v '^ioctl([012],' < "$LOG" > "$OUT"
25*cf84ac9aSAndroid Build Coastguard Workermatch_diff "$OUT" "$EXP"
26