diff options
Diffstat (limited to 'tests/misc-tests/002-uuid-rewrite/test.sh')
-rwxr-xr-x | tests/misc-tests/002-uuid-rewrite/test.sh | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/misc-tests/002-uuid-rewrite/test.sh b/tests/misc-tests/002-uuid-rewrite/test.sh new file mode 100755 index 00000000..d84ec6ca --- /dev/null +++ b/tests/misc-tests/002-uuid-rewrite/test.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# test btrfstune uuid rewriting options + +source $TOP/tests/common + +check_prereq btrfs-debug-tree +check_prereq btrfs-show-super +check_prereq mkfs.btrfs +check_prereq btrfstune +check_prereq btrfs + +prepare_test_dev + +get_fs_uuid() { + local image + + image="$1" + run_check_stdout $TOP/btrfs-show-super "$image" | \ + grep '^fsid' | awk '{print $2}' +} + +test_uuid_random() +{ + local origuuid + + origuuid=11111111-a101-4031-b29a-379d4f8b7a2d + + run_check $SUDO_HELPER $TOP/mkfs.btrfs -f \ + --uuid $origuuid \ + --rootdir $TOP/Documentation \ + $TEST_DEV + run_check $TOP/btrfs-show-super "$TEST_DEV" + currentfsid=$(run_check_stdout $TOP/btrfstune -f -u $TEST_DEV | \ + grep -i 'current fsid:' | awk '{print $3}') + if ! [ $currentfsid = $origuuid ]; then + _fail "FAIL: current UUID mismatch" + fi + run_check $TOP/btrfs-show-super "$TEST_DEV" + run_check $SUDO_HELPER $TOP/btrfs check $TEST_DEV +} + +test_uuid_user() +{ + local origuuid + local newuuid + + origuuid=22222222-d324-4f92-80e9-7658bf3b845f + newuuid=33333333-bfc9-4045-9399-a396dc6893b3 + + run_check $SUDO_HELPER $TOP/mkfs.btrfs -f \ + --uuid $origuuid \ + --rootdir $TOP/Documentation \ + $TEST_DEV + run_check $TOP/btrfs-show-super "$TEST_DEV" + run_check $TOP/btrfstune -f -U $newuuid \ + $TEST_DEV + # btrfs-show-super is called within get_fs_uuid + fsid=$(get_fs_uuid $TEST_DEV) + if ! [ $fsid = $newuuid ]; then + _fail "FAIL: UUID not rewritten" + fi + run_check $SUDO_HELPER $TOP/btrfs check $TEST_DEV +} + +test_uuid_random +test_uuid_user |