blob: 9ccc9c64eadb11190b409e33ca6ebcd8899664f4 [file] [log] [blame]
#!/bin/bash
PATH=$PATH:..:../../deps/shunit2-2.1.6/src
export PATH
export PGDATABASE=testdb
function setUp()
{
# echo "PATH=$PATH"
# echo "PGHOME=$PGHOME"
# echo "PGDATA=$PGDATA"
ps auxx > setUp.log
pgbench -i -n >> setUp.log 2>&1
}
function testTableUsage001()
{
OUT=${_SHUNIT_TEST_}.out
pt-table-usage --help > $OUT
cat<<EOF > ${_SHUNIT_TEST_}.expected
Usage: pt-table-usage [option...]
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
-o, --owner=STRING Owner name
-n, --schema=STRING Schema name
-t, --table=STRING Table name
--help Print this help.
EOF
diff -rc ${_SHUNIT_TEST_}.expected ${_SHUNIT_TEST_}.out
assertEquals 0 $?
}
function testTableUsage002()
{
OUT=${_SHUNIT_TEST_}.out
sleep 1
pt-table-usage -h localhost > $OUT
COUNT=`grep -c pgbench_accounts $OUT`
assertEquals 1 $COUNT
COUNT=`grep -c pgbench_branches $OUT`
assertEquals 1 $COUNT
COUNT=`grep -c pgbench_history $OUT`
assertEquals 1 $COUNT
COUNT=`grep -c pgbench_tellers $OUT`
assertEquals 1 $COUNT
SCAN=`grep pgbench_accounts $OUT | awk '{ print $12 }'`
T_READ=`grep pgbench_accounts $OUT | awk '{ print $14 }'`
T_INS=`grep pgbench_accounts $OUT | awk '{ print $16 }'`
T_UPD=`grep pgbench_accounts $OUT | awk '{ print $18 }'`
assertEquals 1 $SCAN
assertEquals 100000 $T_READ
assertEquals 100000 $T_INS
assertEquals 0 $T_UPD
psql -c 'select * from pgbench_accounts' > /dev/null
sleep 1
pt-table-usage --host localhost >> $OUT
SCAN2=`grep pgbench_accounts $OUT | tail -1 | awk '{ print $12 }'`
T_READ2=`grep pgbench_accounts $OUT | tail -1 | awk '{ print $14 }'`
T_INS2=`grep pgbench_accounts $OUT | tail -1 | awk '{ print $16 }'`
T_UPD2=`grep pgbench_accounts $OUT | tail -1 | awk '{ print $18 }'`
assertEquals 2 $SCAN2
assertEquals 200000 $T_READ2
assertEquals 100000 $T_INS2
assertEquals 0 $T_UPD2
# cat $OUT
}
function testTableUsage003()
{
OUT=${_SHUNIT_TEST_}.out
pt-table-usage -p $PGPORT > $OUT
pt-table-usage --port $PGPORT >> $OUT
COUNT=`wc -l $OUT | awk '{ print $1 }'`
assertEquals 16 $COUNT
}
function testTableUsage004()
{
OUT=${_SHUNIT_TEST_}.out
pt-table-usage -U $USER > $OUT
pt-table-usage --username $USER >> $OUT
COUNT=`wc -l $OUT | awk '{ print $1 }'`
assertEquals 16 $COUNT
}
function testTableUsage005()
{
OUT=${_SHUNIT_TEST_}.out
pt-table-usage -d postgres > $OUT
pt-table-usage --dbname postgres >> $OUT
COUNT=`wc -l $OUT | awk '{ print $1 }'`
assertEquals 8 $COUNT
}
function testTableUsage006()
{
OUT=${_SHUNIT_TEST_}.out
pt-table-usage -o $USER > $OUT
pt-table-usage --owner $USER >> $OUT
COUNT=`wc -l $OUT | awk '{ print $1 }'`
assertEquals 16 $COUNT
}
function testTableUsage007()
{
OUT=${_SHUNIT_TEST_}.out
pt-table-usage -n public > $OUT
pt-table-usage --schema public >> $OUT
COUNT=`wc -l $OUT | awk '{ print $1 }'`
assertEquals 16 $COUNT
}
function testTableUsage008()
{
OUT=${_SHUNIT_TEST_}.out
pt-table-usage -t pgbench_accounts > $OUT
pt-table-usage --table pgbench_accounts >> $OUT
COUNT=`wc -l $OUT | awk '{ print $1 }'`
assertEquals 10 $COUNT
}
. shunit2