btrfs-progs: tests: refactor post-convert check helpers

Separate checksum test from convert_test_post_check and use it to fix
the broken test 005 as reported.

References: https://bugzilla.kernel.org/show_bug.cgi?id=177141
Signed-off-by: David Sterba <dsterba@suse.com>
master
David Sterba 2016-11-11 01:27:39 +01:00
parent 4ad7a967d1
commit 66b9b36805
2 changed files with 23 additions and 8 deletions

View File

@ -223,11 +223,21 @@ convert_test_post_check_acl() {
rm -- $BTRFS_ACLTMP
}
# post conversion checks, verify md5sums
convert_test_post_check_checksums() {
local CHECKSUMTMP
CHECKSUMTMP="$1"
run_check_stdout $SUDO_HELPER md5sum -c "$CHECKSUMTMP" |
grep -q 'FAILED' && _fail "file validation failed"
}
# post conversion checks, all three in one call, on an unmounted image
# $1: file with checksums
# $2: file with permissions.
# $3: file with acl entries.
convert_test_post_check() {
convert_test_post_checks_all() {
local CHECKSUMTMP
local EXT_PERMTMP
local EXT_ACLTMP
@ -235,10 +245,8 @@ convert_test_post_check() {
CHECKSUMTMP="$1"
EXT_PERMTMP="$2"
EXT_ACLTMP="$3"
run_check_mount_test_dev
run_check_stdout $SUDO_HELPER md5sum -c "$CHECKSUMTMP" |
grep -q 'FAILED' && _fail "file validation failed"
convert_test_post_check_checksums "$CHECKSUMTMP"
convert_test_post_check_permissions "$EXT_PERMTMP"
convert_test_post_check_acl "$EXT_ACLTMP"
run_check_umount_test_dev
@ -280,7 +288,7 @@ convert_test() {
run_check_umount_test_dev
convert_test_do_convert "$features" "$nodesize"
convert_test_post_check "$CHECKSUMTMP" "$EXT_PERMTMP" "$EXT_ACLTMP"
convert_test_post_checks_all "$CHECKSUMTMP" "$EXT_PERMTMP" "$EXT_ACLTMP"
rm $CHECKSUMTMP
rm $EXT_PERMTMP
rm $EXT_ACLTMP

View File

@ -34,9 +34,10 @@ do_test() {
run_check_umount_test_dev
convert_test_do_convert "$features" "$nodesize"
convert_test_post_check "$CHECKSUMTMP"
run_check_mount_test_dev
convert_test_post_check_checksums "$CHECKSUMTMP"
here=$(pwd)
cd "$TEST_MNT" || _fail "cannot cd to TEST_MNT"
# ext2_saved/image must not be deleted
@ -45,10 +46,16 @@ do_test() {
run_check $TOP/btrfs filesystem sync "$TEST_MNT"
run_check_umount_test_dev
convert_test_post_rollback
convert_test_post_check "$CHECKSUMTMP"
run_check_mount_test_dev
convert_test_post_check_checksums "$CHECKSUMTMP"
run_check_umount_test_dev
# mount again and verify checksums
convert_test_post_check "$CHECKSUMTMP"
run_check_mount_test_dev
convert_test_post_check_checksums "$CHECKSUMTMP"
run_check_umount_test_dev
rm "$CHECKSUMTMP"
}