pgpool2.git / summary / log / commit / refs

commit    ecc39f50ed6a248c25cd282996bada9510a8810a
Author:   Tatsuo Ishii <ishii@postgresql.org>
Date:     Wed Jun 26 09:50:01 2013 +0000

    Add new regression test.


test/regression/tests/055.backend_all_down/test.sh | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/test/regression/tests/055.backend_all_down/test.sh b/test/regression/tests/055.backend_all_down/test.sh new file mode 100755 index 000000000..7ccb0fac7 --- /dev/null +++ b/test/regression/tests/055.backend_all_down/test.sh @@ -0,0 +1,52 @@ +#! /bin/sh +#------------------------------------------------------------------- +# "pgpool -m f stop" hangs because unmanaged pgpool children remains. +# Starting pgpool without starting PostgreSQL servers triggers the bug. +# +# Fixed in: http://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=fa6c3aa3233fd984a8b717f59e26b2ab9b7c8383 +WHOAMI=`whoami` +source $TESTLIBS +TESTDIR=testdir + +rm -fr $TESTDIR +mkdir $TESTDIR +cd $TESTDIR + +# create test environment +echo -n "creating test environment..." +sh $PGPOOL_SETUP -m s -n 2 || exit 1 +echo "done." + +source ./bashrc.ports + +export PGPORT=$PGPOOL_PORT + +echo "LD_LIBRARY_PATH=/usr/local/pgsql/lib" > pgpool.sh +echo 'dir=`pwd`' >> pgpool.sh +grep pgpool.conf startall >> pgpool.sh + +# start pgpool only. This causes immediate failover and may leave +# orphan pgpool children. +sh pgpool.sh + +while true +do + grep 'failover done. shutdown host /tmp(11001)' log/pgpool.log > /dev/null 2>&1 + if [ $? = 0 ];then + break; + fi + sleep 1 +done + +# if that's the case, shutdownall will hang. +(./shutdownall)& +sleep 5 +kill $! + +if [ $? = 0 ];then + ./shutdownall + exit 1 +fi + +./shutdownall +exit 0 \ No newline at end of file [parent: 970132dd2649]