mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-28 01:30:29 +08:00
Execute regresscheck-t tests in parallel
This patch adds parallel execution capabilities to regresscheck-t.
This commit is contained in:
parent
48b969ecc0
commit
b1eeb56c12
@ -99,6 +99,32 @@ if (${PG_VERSION_MAJOR} GREATER_EQUAL "12")
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# the following tests will run by itself before the parallel
|
||||||
|
# tests because they fail or are flaky when run in parallel
|
||||||
|
set(SOLO_TESTS
|
||||||
|
chunk_api
|
||||||
|
continuous_aggs_bgw
|
||||||
|
continuous_aggs_dump
|
||||||
|
data_fetcher
|
||||||
|
data_node
|
||||||
|
debug_notice
|
||||||
|
dist_commands
|
||||||
|
dist_compression
|
||||||
|
dist_ddl
|
||||||
|
dist_hypertable-11
|
||||||
|
dist_hypertable-12
|
||||||
|
dist_hypertable_am
|
||||||
|
dist_hypertable_with_oids
|
||||||
|
dist_partial_agg
|
||||||
|
issues
|
||||||
|
read_only
|
||||||
|
remote_copy
|
||||||
|
remote_txn_resolve
|
||||||
|
reorder-11
|
||||||
|
reorder-12
|
||||||
|
telemetry_distributed
|
||||||
|
)
|
||||||
|
|
||||||
# Regression tests that vary with PostgreSQL version. Generated test
|
# Regression tests that vary with PostgreSQL version. Generated test
|
||||||
# files are put in the original source directory since all tests must
|
# files are put in the original source directory since all tests must
|
||||||
# be in the same directory. These files are updated when the template
|
# be in the same directory. These files are updated when the template
|
||||||
@ -120,7 +146,30 @@ endif(CMAKE_BUILD_TYPE MATCHES Debug)
|
|||||||
list(SORT TEST_FILES)
|
list(SORT TEST_FILES)
|
||||||
file(REMOVE ${TEST_SCHEDULE})
|
file(REMOVE ${TEST_SCHEDULE})
|
||||||
|
|
||||||
|
if(NOT TEST_GROUP_SIZE)
|
||||||
|
set(PARALLEL_GROUP_SIZE 20)
|
||||||
|
else()
|
||||||
|
set(PARALLEL_GROUP_SIZE ${TEST_GROUP_SIZE})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# append solo tests to schedule first
|
||||||
|
foreach(SOLO_TEST_NAME ${SOLO_TESTS})
|
||||||
|
string(REGEX REPLACE "(.+)" "\\1.sql" TEST_FILE ${SOLO_TEST_NAME})
|
||||||
|
if(TEST_FILE IN_LIST TEST_FILES)
|
||||||
|
file(APPEND ${TEST_SCHEDULE} "test: ${SOLO_TEST_NAME}\n")
|
||||||
|
endif ()
|
||||||
|
endforeach(SOLO_TEST_NAME)
|
||||||
|
|
||||||
|
set(GROUP_MEMBERS 0)
|
||||||
foreach(TEST_FILE ${TEST_FILES})
|
foreach(TEST_FILE ${TEST_FILES})
|
||||||
string(REGEX REPLACE "(.+)\.sql" "\\1" TESTS_TO_RUN ${TEST_FILE})
|
string(REGEX REPLACE "(.+)\.sql" "\\1" TESTS_TO_RUN ${TEST_FILE})
|
||||||
file(APPEND ${TEST_SCHEDULE} "test: ${TESTS_TO_RUN}\n")
|
if(NOT (TESTS_TO_RUN IN_LIST SOLO_TESTS))
|
||||||
|
if(GROUP_MEMBERS EQUAL 0)
|
||||||
|
file(APPEND ${TEST_SCHEDULE} "\ntest: ")
|
||||||
|
endif()
|
||||||
|
file(APPEND ${TEST_SCHEDULE} "${TESTS_TO_RUN} ")
|
||||||
|
MATH(EXPR GROUP_MEMBERS "(${GROUP_MEMBERS}+1)%${PARALLEL_GROUP_SIZE}")
|
||||||
|
endif()
|
||||||
endforeach(TEST_FILE)
|
endforeach(TEST_FILE)
|
||||||
|
file(APPEND ${TEST_SCHEDULE} "\n")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user