From ba4ce686b4bcbaa0584691287f6be91b7406013c Mon Sep 17 00:00:00 2001 From: Sven Klemm Date: Mon, 8 Mar 2021 19:02:41 +0100 Subject: [PATCH] Drop tablespaces after regress run This patch makes TEST_PGPORT available in the environment pg_regress is run on and changes pg_regress to drop the test tablespaces at the end of the run to get a clean state for installchecklocal runs. --- test/CMakeLists.txt | 4 ++++ test/pg_regress.sh | 7 +++++++ tsl/test/CMakeLists.txt | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 76dad6b85..f8cd6e2ef 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -25,6 +25,7 @@ if(PG_REGRESS) add_custom_target(regresscheck COMMAND ${CMAKE_COMMAND} -E env ${PG_REGRESS_ENV} + TEST_PGPORT=${TEST_PGPORT_TEMP_INSTANCE} ${CMAKE_CURRENT_SOURCE_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_REGRESS_OPTS_EXTRA} @@ -35,6 +36,7 @@ if(PG_REGRESS) add_custom_target(regresschecklocal COMMAND ${CMAKE_COMMAND} -E env ${PG_REGRESS_ENV} + TEST_PGPORT=${TEST_PGPORT_LOCAL} ${CMAKE_CURRENT_SOURCE_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_REGRESS_OPTS_EXTRA} @@ -59,6 +61,7 @@ if(PG_ISOLATION_REGRESS) COMMAND ${CMAKE_COMMAND} -E env ${PG_ISOLATION_REGRESS_ENV} SPECS_DIR=${CMAKE_CURRENT_SOURCE_DIR}/isolation/specs + TEST_PGPORT=${TEST_PGPORT_TEMP_INSTANCE} ${CMAKE_CURRENT_SOURCE_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_ISOLATION_REGRESS_OPTS_EXTRA} @@ -70,6 +73,7 @@ if(PG_ISOLATION_REGRESS) COMMAND ${CMAKE_COMMAND} -E env ${PG_ISOLATION_REGRESS_ENV} SPECS_DIR=${CMAKE_CURRENT_SOURCE_DIR}/isolation/specs + TEST_PGPORT=${TEST_PGPORT_LOCAL} ${CMAKE_CURRENT_SOURCE_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_ISOLATION_REGRESS_OPTS_EXTRA} diff --git a/test/pg_regress.sh b/test/pg_regress.sh index 317c79229..23312249e 100755 --- a/test/pg_regress.sh +++ b/test/pg_regress.sh @@ -18,6 +18,8 @@ SCHEDULE= TESTS=${TESTS:-} IGNORES=${IGNORES:-} SKIPS=${SKIPS:-} +PSQL=${PSQL:-psql} +PSQL="${PSQL} -X" # Prevent any .psqlrc files from being executed during the tests contains() { # a list contains a value foo if the regex ".* foo .*" holds true @@ -106,6 +108,11 @@ function cleanup() { rm -rf ${TEST_TABLESPACE2_PREFIX} rm -rf ${TEST_TABLESPACE3_PREFIX} rm -f ${TEMP_SCHEDULE} + cat </dev/null 2>&1 + DROP TABLESPACE IF EXISTS tablespace1; + DROP TABLESPACE IF EXISTS tablespace2; + DROP TABLESPACE IF EXISTS tablespace3; +EOF rm -rf ${TEST_OUTPUT_DIR}/.pg_init } diff --git a/tsl/test/CMakeLists.txt b/tsl/test/CMakeLists.txt index 2d66175d7..9646f4015 100644 --- a/tsl/test/CMakeLists.txt +++ b/tsl/test/CMakeLists.txt @@ -10,6 +10,7 @@ if(PG_REGRESS) COMMAND ${CMAKE_COMMAND} -E env ${PG_REGRESS_ENV} EXE_DIR=${CMAKE_CURRENT_SOURCE_DIR} + TEST_PGPORT=${TEST_PGPORT_TEMP_INSTANCE} ${PRIMARY_TEST_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_REGRESS_OPTS_EXTRA} @@ -21,6 +22,7 @@ if(PG_REGRESS) COMMAND ${CMAKE_COMMAND} -E env ${PG_REGRESS_ENV} EXE_DIR=${CMAKE_CURRENT_SOURCE_DIR} + TEST_PGPORT=${TEST_PGPORT_LOCAL} ${PRIMARY_TEST_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_REGRESS_OPTS_EXTRA} @@ -36,6 +38,7 @@ if(PG_REGRESS) ${PG_REGRESS_ENV} EXE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/shared TEST_SCHEDULE=${TEST_SCHEDULE_SHARED} + TEST_PGPORT=${TEST_PGPORT_TEMP_INSTANCE} ${PRIMARY_TEST_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_REGRESS_SHARED_OPTS_EXTRA} @@ -48,6 +51,7 @@ if(PG_REGRESS) ${PG_REGRESS_ENV} EXE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/shared TEST_SCHEDULE=${TEST_SCHEDULE_SHARED} + TEST_PGPORT=${TEST_PGPORT_LOCAL} ${PRIMARY_TEST_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_REGRESS_SHARED_OPTS_EXTRA} @@ -66,6 +70,7 @@ if(PG_ISOLATION_REGRESS) ${PG_ISOLATION_REGRESS_ENV} EXE_DIR=${CMAKE_CURRENT_SOURCE_DIR} SPECS_DIR=${CMAKE_CURRENT_BINARY_DIR}/isolation/specs + TEST_PGPORT=${TEST_PGPORT_TEMP_INSTANCE} ${PRIMARY_TEST_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_ISOLATION_REGRESS_OPTS_EXTRA} @@ -78,6 +83,7 @@ if(PG_ISOLATION_REGRESS) ${PG_ISOLATION_REGRESS_ENV} EXE_DIR=${CMAKE_CURRENT_SOURCE_DIR} SPECS_DIR=${CMAKE_CURRENT_BINARY_DIR}/isolation/specs + TEST_PGPORT=${TEST_PGPORT_LOCAL} ${PRIMARY_TEST_DIR}/pg_regress.sh ${PG_REGRESS_OPTS_BASE} ${PG_ISOLATION_REGRESS_OPTS_EXTRA}