Merge remote branch 'origin/demonstration'
[deska.git] / run-standalone-tests.sh
blob236bf6093629a75d2214055876a2f66ced936d35
1 #!/bin/bash
3 SHMDIR=/dev/shm/deska-${USER}-$$
4 mkdir ${SHMDIR}
5 initdb -U postgres -A trust ${SHMDIR} > /dev/null
6 echo "listen_addresses = ''
7 unix_socket_directory = '${SHMDIR}'
8 " >> ${SHMDIR}/postgresql.conf
10 if [[ -n "${DESKA_TRACE_SQL}" ]]; then
11 echo "log_destination = stderr
12 log_directory = 'pg_log'
13 logging_collector = on
14 #log_statement = all
15 log_filename = error_log" >> ${SHMDIR}/postgresql.conf
16 CTL_LOG="${SHMDIR}/pg_ctl_log"
17 else
18 CTL_LOG=/dev/null
20 PGHOST=${SHMDIR}
21 export PGHOST
22 PGUSER=postgres pg_ctl start -D ${SHMDIR} -w -l ${CTL_LOG} -o "-F" > /dev/null
24 for role in deska_user deska_admin; do
25 psql -q -U postgres -c "CREATE ROLE ${role};"
26 done
28 if [[ -z "${DESKA_GENERATED_FILES}" ]]; then
29 # do not pollute the source tree with generated files
30 export DESKA_GENERATED_FILES=`mktemp -d`
31 trap "rm -rf $DESKA_GENERATED_FILES" EXIT
34 export DESKA_TEST_VANILLA_DB="${DESKA_GENERATED_FILES}/deska-dump-vanilla"
35 mkdir "${DESKA_TEST_VANILLA_DB}"
37 ctest --output-on-failure $@
38 RES=$?
40 pg_ctl stop -D ${SHMDIR} > /dev/null
42 if [[ -n "${DESKA_TRACE_SQL}" ]]; then
43 cat "${SHMDIR}/pg_log/error_log"
44 cat $CTL_LOG
47 rm -rf ${SHMDIR}
49 exit $RES