btrfs-progs: introduce TEST_TOP and INTERNAL_BIN for tests
[platform/upstream/btrfs-progs.git] / tests / misc-tests / 026-image-non-printable-chars / test.sh
1 #!/bin/bash
2 # check that sanitized names with matching crc do not contain unprintable
3 # characters, namely 0x7f
4
5 source "$TEST_TOP/common"
6
7 check_prereq mkfs.btrfs
8 check_prereq btrfs
9
10 prepare_test_dev
11
12 run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV"
13 run_check_mount_test_dev
14 run_check $SUDO_HELPER chmod a+rw "$TEST_MNT"
15
16 # known to produce char 0x7f == 127
17 touch "$TEST_MNT/|5gp!"
18
19 run_check_umount_test_dev
20
21 run_check $SUDO_HELPER "$TOP/btrfs-image" -ss "$TEST_DEV" img
22 run_check $SUDO_HELPER "$TOP/btrfs-image" -r img img.restored
23 run_check_stdout $SUDO_HELPER "$TOP/btrfs" inspect-internal dump-tree img.restored > img.dump
24
25 ch7f=$(echo -en '\x7f')
26 if grep -q "$ch7f" img.dump; then
27         _fail "found char 0x7f in the sanitized names"
28 fi
29
30 rm -f -- img img.restored img.dump