diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs/snapshot/bug-1322772-real-path-fix-for-snapshot.t | 33 | ||||
-rw-r--r-- | tests/include.rc | 7 |
2 files changed, 34 insertions, 6 deletions
diff --git a/tests/bugs/snapshot/bug-1322772-real-path-fix-for-snapshot.t b/tests/bugs/snapshot/bug-1322772-real-path-fix-for-snapshot.t index 68dc0bbe0f7..bf625eca89b 100644 --- a/tests/bugs/snapshot/bug-1322772-real-path-fix-for-snapshot.t +++ b/tests/bugs/snapshot/bug-1322772-real-path-fix-for-snapshot.t @@ -5,9 +5,11 @@ . $(dirname $0)/../../include.rc cleanup; +TESTS_EXPECTED_IN_LOOP=2 + TEST verify_lvm_version -TEST init_n_bricks 1 -TEST setup_lvm 1 +TEST init_n_bricks 2 +TEST setup_lvm 2 TEST glusterd TEST pidof glusterd @@ -15,20 +17,39 @@ TEST pidof glusterd TEST $CLI volume create $V0 $H0:$L1 EXPECT 'Created' volinfo_field $V0 'Status' +TEST $CLI volume create $V1 $H0:$L2 +EXPECT 'Created' volinfo_field $V1 'Status' + TEST $CLI volume start $V0 EXPECT 'Started' volinfo_field $V0 'Status' -TEST $CLI snapshot create ${V0}_snap $V0 +TEST $CLI volume start $V1 +EXPECT 'Started' volinfo_field $V1 'Status' + +TEST $CLI snapshot create ${V0}_snap $V0 no-timestamp +TEST $CLI snapshot create ${V1}_snap $V1 no-timestamp # Simulate a node reboot by unmounting the brick, snap_brick and followed by # deleting the brick. Now once glusterd restarts, it should be able to construct # and remount the snap brick -snap_brick=`gluster snap status | grep "Brick Path" | awk -F ":" '{print $3}'` +snap_bricks=`gluster snap status | grep "Brick Path" | awk -F ":" '{print $3}'` + +TEST $CLI volume stop $V1 +TEST $CLI snapshot restore ${V1}_snap; pkill gluster -EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $L1 -EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $snap_brick +for snap_brick in $snap_bricks +do + echo "Unmounting snap brick" $snap_brick + EXPECT_WITHIN_TEST_IN_LOOP $UMOUNT_TIMEOUT "Y" force_umount $snap_brick +done + rm -rf $snap_brick TEST glusterd TEST pidof glusterd + +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $L1 + +cleanup + diff --git a/tests/include.rc b/tests/include.rc index 2beb4e676af..13a5188a34e 100644 --- a/tests/include.rc +++ b/tests/include.rc @@ -333,6 +333,12 @@ function _TEST_IN_LOOP() _TEST $@ } +function _EXPECT_WITHIN_TEST_IN_LOOP() +{ + testcnt=`expr $testcnt + 1`; + _EXPECT_WITHIN $@ +} + which killall > /dev/null || { killall() { pkill $@ @@ -800,6 +806,7 @@ alias TEST='_TEST $LINENO' alias EXPECT_WITHIN='_EXPECT_WITHIN $LINENO' alias EXPECT_KEYWORD='_EXPECT_KEYWORD $LINENO' alias TEST_IN_LOOP='_TEST_IN_LOOP $LINENO' +alias EXPECT_WITHIN_TEST_IN_LOOP='_EXPECT_WITHIN_TEST_IN_LOOP $LINENO' shopt -s expand_aliases if [ x"$OSTYPE" = x"Linux" ]; then |