aodh/setup-test-env-postgresql.sh
Joe H. Rahme b23fd8c1fa Sets default encoding for PostgreSQL testing
Fixes the issue of some tests failing when inserting unicode characters
in the PostgreSQL test suite. This patch sets the default encoding of
all created databases to UTF8.

Related to blueprint sql-unit-tests-on-real-backend

Change-Id: Ie8629dd655ddb2327cce13c7e2a31cdb011791b5
2014-10-09 18:36:04 +02:00

28 lines
763 B
Bash

#!/bin/bash
set -e
source functions.sh
if [ "$1" = "--coverage" ]; then
COVERAGE_ARG="$1"
shift
fi
#export PATH=${PATH:+$PATH:}/sbin:/usr/sbin
check_for_cmd pg_config
# Start PostgreSQL process for tests
PGSQL_DATA=`mktemp -d /tmp/CEILO-PGSQL-XXXXX`
trap "clean_exit ${PGSQL_DATA}" EXIT
PGSQL_PATH=`pg_config --bindir`
${PGSQL_PATH}/initdb -E UTF8 ${PGSQL_DATA}
mkfifo ${PGSQL_DATA}/out
${PGSQL_PATH}/postgres -N 100 -F -k ${PGSQL_DATA} -D ${PGSQL_DATA} -p 9823 &> ${PGSQL_DATA}/out &
# Wait for PostgreSQL to start listening to connections
wait_for_line "database system is ready to accept connections" ${PGSQL_DATA}/out
export CEILOMETER_TEST_PGSQL_URL="postgresql:///?host=${PGSQL_DATA}&port=9823&dbname=template1"
# Yield execution to venv command
$*