On 08/21/2012 10:39 PM, Liu Yuan wrote: > From: Liu Yuan <tailai.ly at taobao.com> > > > Signed-off-by: Liu Yuan <tailai.ly at taobao.com> > --- > tests/027 | 33 +++++++++++++++++++++++++++++++++ > tests/027.out | 5 +++++ > tests/common.rc | 10 ++++++++++ > tests/group | 1 + > 4 files changed, 49 insertions(+), 0 deletions(-) > create mode 100755 tests/027 > create mode 100644 tests/027.out > > diff --git a/tests/027 b/tests/027 > new file mode 100755 > index 0000000..456c0f7 > --- /dev/null > +++ b/tests/027 > @@ -0,0 +1,33 @@ > +#!/bin/bash > + > +# Test sheep recovery logic > + > +seq=`basename $0` > +echo "QA output created by $seq" > + > +here=`pwd` > +tmp=/tmp/$$ > +status=1 # failure is the default! > + > +# get standard environment, filters and checks > +. ./common.rc > +. ./common.filter > + > +_cleanup > + > +for i in `seq 0 3`; do > + _start_sheep $i > +done > + > +_wait_for_sheep "4" > + > +$COLLIE cluster format -c 2 > + > +$COLLIE vdi create test0 40M > +$COLLIE vdi create test1 40M > + > +_kill_sheep 3 > + > +_wait_for_sheep_recovery 0 > + > +find $STORE -name '80fd32fc00000000' > diff --git a/tests/027.out b/tests/027.out > new file mode 100644 > index 0000000..f9887b5 > --- /dev/null > +++ b/tests/027.out > @@ -0,0 +1,5 @@ > +QA output created by 027 > +using backend farm store > +/tmp/sheepdog/0/obj/80fd32fc00000000 > +/tmp/sheepdog/3/obj/80fd32fc00000000 > +/tmp/sheepdog/1/obj/80fd32fc00000000 > diff --git a/tests/common.rc b/tests/common.rc > index 64182c6..7ede163 100644 > --- a/tests/common.rc > +++ b/tests/common.rc > @@ -169,5 +169,15 @@ _kill_sheep() > pkill -f "$SHEEP $STORE/$1" > } > > +_wait_for_sheep_recovery() > +{ > + while true; do > + sleep 2 > + if [ $($COLLIE node recovery -p $((7000+$1)) | wc -l) -eq 2 ]; then > + break > + fi > + done > +} > + > # make sure this script returns success > /bin/true > diff --git a/tests/group b/tests/group > index aaa1ab6..57edea5 100644 > --- a/tests/group > +++ b/tests/group > @@ -38,3 +38,4 @@ > 024 auto quick cluster > 025 auto quick cluster > 026 auto quick vdi > +027 auto quick store > Applied. Thanks, Yuan |