* [PATCH 1/2] btrfs-progs-tests: Introduce init_env() to initialize common env variant
@ 2015-07-27 14:01 Zhaolei
2015-07-27 14:01 ` [PATCH 2/2] btrfs-progs-tests: Fix mount fail of 013-extent-tree-rebuild Zhaolei
0 siblings, 1 reply; 2+ messages in thread
From: Zhaolei @ 2015-07-27 14:01 UTC (permalink / raw
To: linux-btrfs; +Cc: Zhao Lei
From: Zhao Lei <zhaolei@cn.fujitsu.com>
For example, $TEST_DIR is common used in severial tests, and have
duplicated code for initialize.
These duplicated code not only benifits harddisk vendor, but have
inconsistent details, as:
convert-tests.sh: lack of mkdir
fsck-tests/012-leaf-corruption/test.sh: unnecessary mkdir
fsck-tests/013-extent-tree-rebuild/test.sh: unnecessary init
misc-tests/XXX ...
And severial error message:
_fail "unable to create mount point on $TEST_MNT"
_fail "failed to create mount point"
...
This patch move initizlizaton of $TEST_DIR to common init_env(),
to avoid above problem, and init_env() can be used to add more
things in future.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
---
tests/common | 7 +++++++
tests/convert-tests.sh | 1 -
tests/fsck-tests.sh | 3 ---
tests/fsck-tests/012-leaf-corruption/test.sh | 1 -
tests/fsck-tests/013-extent-tree-rebuild/test.sh | 5 -----
tests/misc-tests.sh | 3 ---
tests/misc-tests/001-btrfstune-features/test.sh | 5 -----
tests/misc-tests/002-uuid-rewrite/test.sh | 5 -----
tests/misc-tests/003-zero-log/test.sh | 5 -----
9 files changed, 7 insertions(+), 28 deletions(-)
diff --git a/tests/common b/tests/common
index 2d337b0..ba0b78a 100644
--- a/tests/common
+++ b/tests/common
@@ -158,3 +158,10 @@ prepare_test_dev()
truncate -s "$size" "$TEST_DEV" || _not_run "create file for loop device failed"
}
+init_env()
+{
+ TEST_MNT="${TEST_MNT:-$TOP/tests/mnt}"
+ export TEST_MNT
+ mkdir -p "$TEST_MNT" || { echo "Failed mkdir -p $TEST_MNT"; exit 1; }
+}
+init_env
diff --git a/tests/convert-tests.sh b/tests/convert-tests.sh
index efed90b..4e8496a 100755
--- a/tests/convert-tests.sh
+++ b/tests/convert-tests.sh
@@ -9,7 +9,6 @@ unset LANG
LANG=C
SCRIPT_DIR=$(dirname $(readlink -f $0))
TOP=$(readlink -f $SCRIPT_DIR/../)
-TEST_MNT=${TEST_MNT:-$TOP/tests/mnt}
RESULTS="$TOP/tests/convert-tests-results.txt"
IMAGE="$TOP/tests/test.img"
diff --git a/tests/fsck-tests.sh b/tests/fsck-tests.sh
index b0ded6a..46dd72d 100755
--- a/tests/fsck-tests.sh
+++ b/tests/fsck-tests.sh
@@ -11,7 +11,6 @@ LANG=C
SCRIPT_DIR=$(dirname $(readlink -f $0))
TOP=$(readlink -f $SCRIPT_DIR/../)
TEST_DEV=${TEST_DEV:-}
-TEST_MNT=${TEST_MNT:-$TOP/tests/mnt}
RESULTS="$TOP/tests/fsck-tests-results.txt"
source $TOP/tests/common
@@ -20,11 +19,9 @@ source $TOP/tests/common
export TOP
export RESULTS
# For custom script needs to verfiy recovery
-export TEST_MNT
export LANG
rm -f $RESULTS
-mkdir -p $TEST_MNT || _fail "unable to create mount point on $TEST_MNT"
# test rely on corrupting blocks tool
check_prereq btrfs-corrupt-block
diff --git a/tests/fsck-tests/012-leaf-corruption/test.sh b/tests/fsck-tests/012-leaf-corruption/test.sh
index f8701ad..a37ceda 100755
--- a/tests/fsck-tests/012-leaf-corruption/test.sh
+++ b/tests/fsck-tests/012-leaf-corruption/test.sh
@@ -85,7 +85,6 @@ check_inode()
check_leaf_corrupt_no_data_ext()
{
image=$1
- mkdir -p $TEST_MNT || _fail "failed to create mount point"
$SUDO_HELPER mount -o loop $image -o ro $TEST_MNT
i=0
diff --git a/tests/fsck-tests/013-extent-tree-rebuild/test.sh b/tests/fsck-tests/013-extent-tree-rebuild/test.sh
index 88a66cc..b7909d2 100755
--- a/tests/fsck-tests/013-extent-tree-rebuild/test.sh
+++ b/tests/fsck-tests/013-extent-tree-rebuild/test.sh
@@ -7,11 +7,6 @@ check_prereq mkfs.btrfs
setup_root_helper
prepare_test_dev 1G
-if [ -z $TEST_MNT ];then
- echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
- exit 0
-fi
-
# test whether fsck can rebuild a corrupted extent tree
test_extent_tree_rebuild()
{
diff --git a/tests/misc-tests.sh b/tests/misc-tests.sh
index 5bbe914..cabe9c3 100755
--- a/tests/misc-tests.sh
+++ b/tests/misc-tests.sh
@@ -8,7 +8,6 @@ LANG=C
SCRIPT_DIR=$(dirname $(readlink -f $0))
TOP=$(readlink -f $SCRIPT_DIR/../)
TEST_DEV=${TEST_DEV:-}
-TEST_MNT=${TEST_MNT:-$TOP/tests/mnt}
RESULTS="$TOP/tests/misc-tests-results.txt"
IMAGE="$TOP/tests/test.img"
@@ -18,11 +17,9 @@ source $TOP/tests/common
export TOP
export RESULTS
# For custom script needs to verfiy recovery
-export TEST_MNT
export LANG
rm -f $RESULTS
-mkdir -p $TEST_MNT || _fail "unable to create mount point on $TEST_MNT"
# test rely on corrupting blocks tool
check_prereq btrfs-corrupt-block
diff --git a/tests/misc-tests/001-btrfstune-features/test.sh b/tests/misc-tests/001-btrfstune-features/test.sh
index ea33954..836e8d3 100755
--- a/tests/misc-tests/001-btrfstune-features/test.sh
+++ b/tests/misc-tests/001-btrfstune-features/test.sh
@@ -9,11 +9,6 @@ check_prereq mkfs.btrfs
setup_root_helper
prepare_test_dev
-if [ -z $TEST_MNT ];then
- echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
- exit 0
-fi
-
# test whether fsck can rebuild a corrupted extent tree
# parameters:
# - option for mkfs.btrfs -O, empty for defaults
diff --git a/tests/misc-tests/002-uuid-rewrite/test.sh b/tests/misc-tests/002-uuid-rewrite/test.sh
index bffa9b8..9b103aa 100755
--- a/tests/misc-tests/002-uuid-rewrite/test.sh
+++ b/tests/misc-tests/002-uuid-rewrite/test.sh
@@ -9,11 +9,6 @@ check_prereq mkfs.btrfs
check_prereq btrfstune
prepare_test_dev
-if [ -z $TEST_MNT ];then
- echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
- exit 0
-fi
-
get_fs_uuid() {
local image
diff --git a/tests/misc-tests/003-zero-log/test.sh b/tests/misc-tests/003-zero-log/test.sh
index edab5db..b650930 100755
--- a/tests/misc-tests/003-zero-log/test.sh
+++ b/tests/misc-tests/003-zero-log/test.sh
@@ -8,11 +8,6 @@ check_prereq mkfs.btrfs
check_prereq btrfs
prepare_test_dev
-if [ -z $TEST_MNT ];then
- echo " [NOTRUN] extent tree rebuild, need TEST_MNT variant"
- exit 0
-fi
-
get_log_root()
{
local image
--
1.8.5.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH 2/2] btrfs-progs-tests: Fix mount fail of 013-extent-tree-rebuild
2015-07-27 14:01 [PATCH 1/2] btrfs-progs-tests: Introduce init_env() to initialize common env variant Zhaolei
@ 2015-07-27 14:01 ` Zhaolei
0 siblings, 0 replies; 2+ messages in thread
From: Zhaolei @ 2015-07-27 14:01 UTC (permalink / raw
To: linux-btrfs; +Cc: Zhao Lei
From: Zhao Lei <zhaolei@cn.fujitsu.com>
When using loop device for test, fsck-tests/013-extent-tree-rebuild
failed with following error message:
# ./fsck-tests.sh
...
[TEST] 013-extent-tree-rebuild
failed: mount /data/btrfsprogs/tests/test.img /data/btrfsprogs/tests/mnt
test failed for case 013-extent-tree-rebuild
#
Considering that $TEST_DEV can be block or loop device, we need determine
our mount option in a condition for both case.
This patch make above request to a common function, to solve current
problem in 013-extent-tree-rebuild, and support similar request in future.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
---
tests/common | 24 ++++++++++++++++++++++++
tests/fsck-tests/013-extent-tree-rebuild/test.sh | 4 ++--
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/tests/common b/tests/common
index ba0b78a..381ff96 100644
--- a/tests/common
+++ b/tests/common
@@ -165,3 +165,27 @@ init_env()
mkdir -p "$TEST_MNT" || { echo "Failed mkdir -p $TEST_MNT"; exit 1; }
}
init_env
+
+mount_test_dev()
+{
+ local loop_opt
+ if [[ -b "$TEST_DEV" ]]; then
+ loop_opt=()
+ elif [[ -f "$TEST_DEV" ]]; then
+ loop_opt=(-o loop)
+ else
+ _fail "Invalid \$TEST_DEV: $TEST_DEV"
+ fi
+
+ [[ -d "$TEST_MNT" ]] || {
+ _fail "Invalid \$TEST_MNT: $TEST_MNT"
+ }
+
+ mount "${loop_opt[@]}" "$TEST_DEV" "$TEST_MNT" || _fail "mount $TEST_DEV to $TEST_MNT failed"
+}
+
+umount_test_dev()
+{
+ umount "$TEST_DEV"
+}
+
diff --git a/tests/fsck-tests/013-extent-tree-rebuild/test.sh b/tests/fsck-tests/013-extent-tree-rebuild/test.sh
index b7909d2..ff3c922 100755
--- a/tests/fsck-tests/013-extent-tree-rebuild/test.sh
+++ b/tests/fsck-tests/013-extent-tree-rebuild/test.sh
@@ -12,14 +12,14 @@ test_extent_tree_rebuild()
{
run_check $SUDO_HELPER $TOP/mkfs.btrfs -f $TEST_DEV
- run_check $SUDO_HELPER mount $TEST_DEV $TEST_MNT
+ run_check $SUDO_HELPER mount_test_dev
run_check $SUDO_HELPER cp -aR /lib/modules/`uname -r`/ $TEST_MNT
for i in `seq 1 100`;do
run_check $SUDO_HELPER $TOP/btrfs sub snapshot $TEST_MNT \
$TEST_MNT/snapaaaaaaa_$i
done
- run_check $SUDO_HELPER umount $TEST_DEV
+ run_check $SUDO_HELPER umount_test_dev
# get extent root bytenr
extent_root_bytenr=`$SUDO_HELPER $TOP/btrfs-debug-tree -r $TEST_DEV | \
--
1.8.5.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-07-27 14:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-27 14:01 [PATCH 1/2] btrfs-progs-tests: Introduce init_env() to initialize common env variant Zhaolei
2015-07-27 14:01 ` [PATCH 2/2] btrfs-progs-tests: Fix mount fail of 013-extent-tree-rebuild Zhaolei
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.