xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/run-ptest (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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