From: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
This code block is common used, move it to common function will
make code clean.
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
---
tests/common | 16 ++++++++++++++++
tests/fsck-tests/013-extent-tree-rebuild/test.sh | 11 +----------
tests/misc-tests/001-btrfstune-features/test.sh | 11 +----------
tests/misc-tests/002-uuid-rewrite/test.sh | 11 +----------
tests/misc-tests/003-zero-log/test.sh | 11 +----------
5 files changed, 20 insertions(+), 40 deletions(-)
diff --git a/tests/common b/tests/common
index 899ec7b..2d337b0 100644
--- a/tests/common
+++ b/tests/common
@@ -142,3 +142,19 @@ setup_root_helper()
fi
SUDO_HELPER=root_helper
}
+
+prepare_test_dev()
+{
+ # num[K/M/G/T...]
+ local size="$1"
+
+ [[ "$TEST_DEV" ]] && return
+ [[ "$size" ]] || size='1G'
+
+ echo "\$TEST_DEV not given, use $TOP/test/test.img as fallback" >> \
+ $RESULTS
+ TEST_DEV="$TOP/tests/test.img"
+
+ truncate -s "$size" "$TEST_DEV" || _not_run "create file for loop device failed"
+}
+
diff --git a/tests/fsck-tests/013-extent-tree-rebuild/test.sh b/tests/fsck-tests/013-extent-tree-rebuild/test.sh
index 3290cd7..88a66cc 100755
--- a/tests/fsck-tests/013-extent-tree-rebuild/test.sh
+++ b/tests/fsck-tests/013-extent-tree-rebuild/test.sh
@@ -5,16 +5,7 @@ source $TOP/tests/common
check_prereq btrfs-debug-tree
check_prereq mkfs.btrfs
setup_root_helper
-
-if [ -z $TEST_DEV ]; then
- echo "\$TEST_DEV not given, use $TOP/test/test.img as fallback" >> \
- $RESULTS
- TEST_DEV="$TOP/tests/test.img"
-
- # Need at least 1G to avoid mixed block group, which extent tree
- # rebuild doesn't support.
- run_check truncate -s 1G $TEST_DEV
-fi
+prepare_test_dev 1G
if [ -z $TEST_MNT ];then
echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
diff --git a/tests/misc-tests/001-btrfstune-features/test.sh b/tests/misc-tests/001-btrfstune-features/test.sh
index c9981e6..ea33954 100755
--- a/tests/misc-tests/001-btrfstune-features/test.sh
+++ b/tests/misc-tests/001-btrfstune-features/test.sh
@@ -7,16 +7,7 @@ check_prereq btrfs-debug-tree
check_prereq btrfs-show-super
check_prereq mkfs.btrfs
setup_root_helper
-
-if [ -z $TEST_DEV ]; then
- echo "\$TEST_DEV not given, use $TOP/test/test.img as fallback" >> \
- $RESULTS
- TEST_DEV="$TOP/tests/test.img"
-
- # Need at least 1G to avoid mixed block group, which extent tree
- # rebuild doesn't support.
- run_check truncate -s 1G $TEST_DEV
-fi
+prepare_test_dev
if [ -z $TEST_MNT ];then
echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
diff --git a/tests/misc-tests/002-uuid-rewrite/test.sh b/tests/misc-tests/002-uuid-rewrite/test.sh
index 6c2a393..bffa9b8 100755
--- a/tests/misc-tests/002-uuid-rewrite/test.sh
+++ b/tests/misc-tests/002-uuid-rewrite/test.sh
@@ -7,16 +7,7 @@ check_prereq btrfs-debug-tree
check_prereq btrfs-show-super
check_prereq mkfs.btrfs
check_prereq btrfstune
-
-if [ -z $TEST_DEV ]; then
- echo "\$TEST_DEV not given, use $TOP/test/test.img as fallback" >> \
- $RESULTS
- TEST_DEV="$TOP/tests/test.img"
-
- # Need at least 1G to avoid mixed block group, which extent tree
- # rebuild doesn't support.
- run_check truncate -s 1G $TEST_DEV
-fi
+prepare_test_dev
if [ -z $TEST_MNT ];then
echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
diff --git a/tests/misc-tests/003-zero-log/test.sh b/tests/misc-tests/003-zero-log/test.sh
index da5b351..edab5db 100755
--- a/tests/misc-tests/003-zero-log/test.sh
+++ b/tests/misc-tests/003-zero-log/test.sh
@@ -6,16 +6,7 @@ source $TOP/tests/common
check_prereq btrfs-show-super
check_prereq mkfs.btrfs
check_prereq btrfs
-
-if [ -z $TEST_DEV ]; then
- echo "\$TEST_DEV not given, use $TOP/test/test.img as fallback" >> \
- $RESULTS
- TEST_DEV="$TOP/tests/test.img"
-
- # Need at least 1G to avoid mixed block group, which extent tree
- # rebuild doesn't support.
- run_check truncate -s 1G $TEST_DEV
-fi
+prepare_test_dev
if [ -z $TEST_MNT ];then
echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
--
1.8.5.1
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html