1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunBASEDIR="$(dirname $(readlink -f $0))" 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun# init and start postgresql server for testing 6*4882a593SmuzhiyunPGDATA="/var/lib/postgresql/data" 7*4882a593Smuzhiyunif [ -f "${PGDATA}/PG_VERSION" ]; then 8*4882a593Smuzhiyun echo "Data directory is not empty! Skip initdb." 9*4882a593Smuzhiyunelse 10*4882a593Smuzhiyun echo "Initializing database: " 11*4882a593Smuzhiyun chown -R postgres:postgres ${PGDATA} 12*4882a593Smuzhiyun su -l postgres -c "/usr/bin/initdb --pgdata='$PGDATA'" 13*4882a593Smuzhiyunfi 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunSYSV_INIT="/etc/init.d/postgresql-server" 16*4882a593Smuzhiyunif [ -e ${SYSV_INIT} ]; then 17*4882a593Smuzhiyun RESTART_POSTGRESQL="${SYSV_INIT} restart" 18*4882a593Smuzhiyun STOP_POSTGRESQL="${SYSV_INIT} stop" 19*4882a593Smuzhiyunelse 20*4882a593Smuzhiyun RESTART_POSTGRESQL="systemctl restart postgresql" 21*4882a593Smuzhiyun STOP_POSTGRESQL="systemctl stop postgresql" 22*4882a593Smuzhiyunfi 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun${RESTART_POSTGRESQL} || echo "Failed to restart postgresql, skip the tests." 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunif [ ! -d ${BASEDIR}/results ]; then 27*4882a593Smuzhiyun mkdir ${BASEDIR}/results 28*4882a593Smuzhiyunfi 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun# Generate odbc config files and reset db 31*4882a593Smuzhiyun${BASEDIR}/odbcini-gen.sh || echo "FAIL: Generate odbc config files" 32*4882a593SmuzhiyunODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini \ 33*4882a593Smuzhiyun ${BASEDIR}/reset-db < ${BASEDIR}/sampletables.sql \ 34*4882a593Smuzhiyun || echo "FAIL: reset db with sample tables" 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun# Run the actual tests 37*4882a593SmuzhiyunTESTS= 38*4882a593Smuzhiyunfor i in `ls ${BASEDIR}/exe/*-test`; do 39*4882a593Smuzhiyun TESTS="$TESTS $(basename ${i%-test})" 40*4882a593Smuzhiyundone 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun${BASEDIR}/runsuite ${TESTS} --inputdir=${BASEDIR} 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun# Cleanup 45*4882a593Smuzhiyun${STOP_POSTGRESQL} 46*4882a593Smuzhiyunrm -f regression.diffs odbcinst.ini odbc.ini 47