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]