mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
Add ability to run regression test locally
This commit is contained in:
parent
44f9fec2fa
commit
ec746d1ef8
@ -12,34 +12,24 @@ set(TEST_ROLE_DEFAULT_PERM_USER default_perm_user)
|
||||
set(TEST_ROLE_DEFAULT_PERM_USER_2 default_perm_user_2)
|
||||
|
||||
# Basic connection info for test instance
|
||||
set(TEST_PGPORT 1432)
|
||||
set(TEST_PGPORT_LOCAL 5432)
|
||||
set(TEST_PGPORT_TEMP_INSTANCE 1432)
|
||||
set(TEST_PGHOST localhost)
|
||||
set(TEST_PGUSER ${TEST_ROLE_DEFAULT_PERM_USER})
|
||||
set(TEST_DBNAME single)
|
||||
set(TEST_INPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(TEST_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
set(TEST_CLUSTER ${TEST_OUTPUT_DIR}/testcluster)
|
||||
set(PG_REGRESS_OPTS
|
||||
--temp-instance=${TEST_CLUSTER}
|
||||
--temp-config=${TEST_OUTPUT_DIR}/postgresql.conf
|
||||
set(PG_REGRESS_OPTS_COMMON
|
||||
--create-role=${TEST_ROLE_SUPERUSER},${TEST_ROLE_DEFAULT_PERM_USER},${TEST_ROLE_DEFAULT_PERM_USER_2}
|
||||
--dbname=${TEST_DBNAME}
|
||||
--outputdir=${TEST_OUTPUT_DIR}
|
||||
--launcher=${TEST_INPUT_DIR}/runner.sh
|
||||
--host=${TEST_PGHOST}
|
||||
--port=${TEST_PGPORT}
|
||||
--user=${TEST_PGUSER}
|
||||
--load-language=plpgsql
|
||||
--dlpath=${PROJECT_BINARY_DIR}/src
|
||||
--inputdir=${TEST_INPUT_DIR})
|
||||
|
||||
# Configuration setting needed to LOAD module for tests instead of
|
||||
# preloading
|
||||
file(MAKE_DIRECTORY ${TEST_OUTPUT_DIR})
|
||||
file(WRITE ${TEST_OUTPUT_DIR}/postgresql.conf "shared_preload_libraries=timescaledb")
|
||||
|
||||
add_custom_target(installcheck
|
||||
COMMAND ${CMAKE_COMMAND} -E env
|
||||
SET(PG_REGRESS_ENV
|
||||
TEST_PGUSER=${TEST_PGUSER}
|
||||
TEST_ROLE_SUPERUSER=${TEST_ROLE_SUPERUSER}
|
||||
TEST_ROLE_DEFAULT_PERM_USER=${TEST_ROLE_DEFAULT_PERM_USER}
|
||||
@ -48,5 +38,33 @@ add_custom_target(installcheck
|
||||
TEST_INPUT_DIR=${TEST_INPUT_DIR}
|
||||
TEST_OUTPUT_DIR=${TEST_OUTPUT_DIR}
|
||||
PG_REGRESS=${PG_REGRESS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/pg_regress.sh ${PG_REGRESS_OPTS}
|
||||
)
|
||||
|
||||
set(PG_REGRESS_OPTS_TEMP_INSTANCE
|
||||
--user=${TEST_PGUSER}
|
||||
--port=${TEST_PGPORT_TEMP_INSTANCE}
|
||||
--temp-instance=${TEST_CLUSTER}
|
||||
--temp-config=${TEST_OUTPUT_DIR}/postgresql.conf
|
||||
${PG_REGRESS_OPTS_COMMON}
|
||||
)
|
||||
|
||||
set(PG_REGRESS_OPTS_LOCAL
|
||||
--user=postgres
|
||||
--port=${TEST_PGPORT_LOCAL}
|
||||
${PG_REGRESS_OPTS_COMMON}
|
||||
)
|
||||
|
||||
file(MAKE_DIRECTORY ${TEST_OUTPUT_DIR})
|
||||
file(WRITE ${TEST_OUTPUT_DIR}/postgresql.conf "shared_preload_libraries=timescaledb")
|
||||
|
||||
#installcheck starts up new temporary instances for testing code
|
||||
add_custom_target(installcheck
|
||||
COMMAND ${CMAKE_COMMAND} -E env ${PG_REGRESS_ENV}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_TEMP_INSTANCE}
|
||||
USES_TERMINAL)
|
||||
|
||||
#installchecklocal tests against an existing postgres instance
|
||||
add_custom_target(installchecklocal
|
||||
COMMAND ${CMAKE_COMMAND} -E env ${PG_REGRESS_ENV}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_LOCAL}
|
||||
USES_TERMINAL)
|
||||
|
Loading…
x
Reference in New Issue
Block a user