| #!/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 |