2015-01-12 20:54:09 +00:00
|
|
|
# Helps testing PostgreSQL-based software, no B/L/R-DEPS here.
|
|
|
|
|
|
|
|
|
|
MODPOSTGRESQL_TEST_CMD ?= \
|
|
|
|
|
${MAKE_PROGRAM} ${ALL_TEST_FLAGS} -f ${MAKE_FILE} ${TEST_TARGET}
|
|
|
|
|
|
|
|
|
|
MODPOSTGRESQL_TEST_PGHOST ?= ${WRKDIR}
|
2015-07-19 12:34:41 +00:00
|
|
|
_MODPOSTGRESQL_TEST_PGDATA = ${WRKDIR}/testdb-pg
|
2015-01-12 20:54:09 +00:00
|
|
|
|
|
|
|
|
TEST_DEPENDS += databases/postgresql,-server
|
|
|
|
|
TEST_ENV += PGDATA=${_MODPOSTGRESQL_TEST_PGDATA} \
|
|
|
|
|
PGHOST=${MODPOSTGRESQL_TEST_PGHOST}
|
|
|
|
|
.ifdef MODPOSTGRESQL_TEST_DBNAME
|
|
|
|
|
TEST_ENV += PGDATABASE=${MODPOSTGRESQL_TEST_DBNAME}
|
|
|
|
|
.endif
|
|
|
|
|
|
|
|
|
|
MODPOSTGRESQL_TEST_TARGET = \
|
|
|
|
|
rm -Rf ${_MODPOSTGRESQL_TEST_PGDATA}; \
|
|
|
|
|
export ${ALL_TEST_ENV}; \
|
|
|
|
|
${LOCALBASE}/bin/initdb -D ${_MODPOSTGRESQL_TEST_PGDATA} \
|
2015-09-24 20:35:31 +00:00
|
|
|
-A trust --locale=C -E UTF8 --nosync; \
|
2015-01-12 20:54:09 +00:00
|
|
|
${LOCALBASE}/bin/pg_ctl start -w -D ${_MODPOSTGRESQL_TEST_PGDATA} \
|
|
|
|
|
-l ${WRKDIR}/pg-test.log \
|
2019-12-16 19:14:09 +00:00
|
|
|
-o "-F -h '' -k ${MODPOSTGRESQL_TEST_PGHOST}"; \
|
|
|
|
|
${LOCALBASE}/bin/createuser -s postgres || \
|
|
|
|
|
(${LOCALBASE}/bin/pg_ctl stop -D ${_MODPOSTGRESQL_TEST_PGDATA} \
|
|
|
|
|
-m i && exit 1); \
|
|
|
|
|
export PGUSER=postgres;
|
2015-01-12 20:54:09 +00:00
|
|
|
.ifdef MODPOSTGRESQL_TEST_DBNAME
|
|
|
|
|
MODPOSTGRESQL_TEST_TARGET += \
|
|
|
|
|
${LOCALBASE}/bin/createdb ${MODPOSTGRESQL_TEST_DBNAME} || \
|
|
|
|
|
(${LOCALBASE}/bin/pg_ctl stop -D ${_MODPOSTGRESQL_TEST_PGDATA} \
|
|
|
|
|
-m i && exit 1);
|
|
|
|
|
.endif
|
|
|
|
|
MODPOSTGRESQL_TEST_TARGET += \
|
|
|
|
|
set +e; \
|
|
|
|
|
cd ${WRKBUILD}; \
|
2015-07-19 12:42:20 +00:00
|
|
|
( ${MODPOSTGRESQL_TEST_CMD} ); \
|
2015-01-12 20:54:09 +00:00
|
|
|
Q=$$?; \
|
|
|
|
|
${LOCALBASE}/bin/pg_ctl stop -D ${_MODPOSTGRESQL_TEST_PGDATA} -m i; \
|
|
|
|
|
exit $$Q
|
|
|
|
|
|
|
|
|
|
.if !target(do-test)
|
|
|
|
|
do-test:
|
|
|
|
|
${MODPOSTGRESQL_TEST_TARGET}
|
|
|
|
|
.endif
|