blob: 7490fde1417af968f1aa45f8e9885e60de17b69b [file] [log] [blame]
#!/bin/bash
PATH=$PATH:..:../../deps/shunit2-2.1.6/src
export PATH
export PGDATABASE=testdb
. ./test_common.sh
function setUp()
{
# echo "PATH=$PATH"
# echo "PGHOME=$PGHOME"
# echo "PGDATA=$PGDATA"
ps auxx > setUp.log
pgbench -i >> setUp.log 2>&1
install_pg_stat_statements >> setUp.log 2>&1
}
function testReplicationStat001()
{
OUT=${_SHUNIT_TEST_}.out
cat<<EOF >${_SHUNIT_TEST_}.expected
Usage: pt-replication-stat [option...] [delay [count]]
Options:
-h, --host=HOSTNAME Host name of the postgres server
-p, --port=PORT Port number of the postgres server
-U, --username=USERNAME User name to connect
-d, --dbname=DBNAME Database name to connect
--help Print this help.
EOF
pt-replication-stat --help > $OUT 2>&1
diff -rc ${_SHUNIT_TEST_}.expected $OUT
assertEquals 0 $?
}
function testReplicationStat002()
{
OUT=${_SHUNIT_TEST_}.out
pt-replication-stat -h localhost 1 1 > $OUT 2>&1
# +-------+-------+-----------+-------+-----------+------------+------------+------------+-----------+-----+--------+
# | PID | NAME | HOST | PORT | STATE | SENT | WRITTTEN | FLUSHED | REPLAYED | PRI | MODE |
# +-------+-------+-----------+-------+-----------+------------+------------+------------+-----------+-----+--------+
# | | | | | local | 0/101D9D00 | 0/101D9D00 | | | | master |
# | 28463 | slave | 127.0.0.1 | 59821 | streaming | 0/101D9D00 | 0/101D9D00 | 0/101D9D00 | 0/FFFFFD0 | 0 | async |
# +-------+-------+-----------+-------+-----------+------------+------------+------------+-----------+-----+--------+
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
pt-replication-stat --host localhost 1 1 > $OUT 2>&1
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
}
function testReplicationStat003()
{
OUT=${_SHUNIT_TEST_}.out
pt-replication-stat -p 5433 1 1 > $OUT 2>&1
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
pt-replication-stat --port 5433 1 1 > $OUT 2>&1
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
}
function testReplicationStat004()
{
OUT=${_SHUNIT_TEST_}.out
pt-replication-stat -U $USER 1 1 > $OUT 2>&1
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
pt-replication-stat --username $USER 1 1 > $OUT 2>&1
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
}
function testReplicationStat005()
{
OUT=${_SHUNIT_TEST_}.out
pt-replication-stat -d testdb 1 1 > $OUT 2>&1
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
pt-replication-stat --dbname testdb 1 1 > $OUT 2>&1
if [ $_MAJORVERSION == "9.0" ]; then
contains 'ERROR: PostgreSQL 9.0 is not supported.' $OUT
assertTrue $?
else
contains 'master' $OUT
assertTrue $?
contains 'slave | 127.0.0.1' $OUT
assertTrue $?
contains 'streaming' $OUT
assertTrue $?
contains 'async' $OUT
assertTrue $?
fi
}
. shunit2