diff options
author | Qu Wenruo <quwenruo.btrfs@gmx.com> | 2017-09-05 10:24:15 +0900 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-09-08 16:15:05 +0200 |
commit | dbe96ecd3f38d37ee0793297e7dbfb699b4a5aec (patch) | |
tree | bcf6a580275bf68b288b8edbf046e9951e5e07f2 /tests/mkfs-tests | |
parent | 081e4e9bb83283a7fa38c13da589e103f01e5f7d (diff) |
btrfs-progs: tests: Add test case for mkfs --rootdir parameter
Add test case which checks if -r|--rootdir mkfs option can handle
symlink/char/block/fifo files.
Signed-off-by: Qu Wenruo <quwenruo.btrfs@gmx.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tests/mkfs-tests')
-rwxr-xr-x | tests/mkfs-tests/009-special-files-for-rootdir/test.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/mkfs-tests/009-special-files-for-rootdir/test.sh b/tests/mkfs-tests/009-special-files-for-rootdir/test.sh new file mode 100755 index 00000000..d327a0d9 --- /dev/null +++ b/tests/mkfs-tests/009-special-files-for-rootdir/test.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# Check if --rootdir can handle special files (socket/fifo/char/block) correctly +# +# --rootdir had a problem of filling dir items/indexes with wrong type +# and caused btrfs check to report such error +# +# Note: sock type is skipped in this test + +source "$TOP/tests/common" + +check_prereq mkfs.btrfs +check_prereq btrfs + +setup_root_helper # For mknod +prepare_test_dev + +# mknod can create FIFO/CHAR/BLOCK file but not SOCK. +# No neat tool to create socket file, unless using python or similar. +# So no SOCK is tested here +check_global_prereq mknod +check_global_prereq dd + +tmp=$(mktemp -d --tmpdir btrfs-progs-mkfs.rootdirXXXXXXX) + +run_check mkdir "$tmp/dir" +run_check mkdir -p "$tmp/dir/in/dir" +run_check mknod "$tmp/fifo" p +run_check $SUDO_HELPER mknod "$tmp/char" c 1 1 +run_check $SUDO_HELPER mknod "$tmp/block" b 1 1 +run_check dd if=/dev/zero bs=1M count=1 of="$tmp/regular" + +run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f -r "$tmp" "$TEST_DEV" + +rm -rf -- "$tmp" + +run_check $SUDO_HELPER "$TOP/btrfs" check "$TEST_DEV" |