summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2016-11-11 01:27:39 +0100
committerDavid Sterba <dsterba@suse.com>2016-11-11 16:25:18 +0100
commit66b9b36805d7a932001983903ae2f7f5ce0c6107 (patch)
tree6d337b1bde4c055b96e153723be515966ae289c3 /tests
parent4ad7a967d1bcbb77b12b610b9db3ee07518ddb83 (diff)
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>
Diffstat (limited to 'tests')
-rw-r--r--tests/common.convert18
-rwxr-xr-xtests/convert-tests/005-delete-all-rollback/test.sh13
2 files changed, 23 insertions, 8 deletions
diff --git a/tests/common.convert b/tests/common.convert
index dcf0868c..1b5217c3 100644
--- a/tests/common.convert
+++ b/tests/common.convert
@@ -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
diff --git a/tests/convert-tests/005-delete-all-rollback/test.sh b/tests/convert-tests/005-delete-all-rollback/test.sh
index d498e5f8..cf576e70 100755
--- a/tests/convert-tests/005-delete-all-rollback/test.sh
+++ b/tests/convert-tests/005-delete-all-rollback/test.sh
@@ -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"
}