Run regresscheck-shared tests in parallel

This patch changes regresscheck-shared to no longer run individual
tests serially but runs them in parallel instead.
This commit is contained in:
Sven Klemm 2020-06-22 18:25:22 +02:00 committed by Sven Klemm
parent 0e532a165f
commit ccbe67f94f

View File

@ -25,7 +25,19 @@ if (TEST_FILES_SHARED)
endif()
file(REMOVE ${TEST_SCHEDULE_SHARED})
if(NOT TEST_GROUP_SIZE)
set(PARALLEL_GROUP_SIZE 20)
else()
set(PARALLEL_GROUP_SIZE ${TEST_GROUP_SIZE})
endif()
set(GROUP_MEMBERS 0)
foreach(TEST_FILE ${TEST_FILES_SHARED})
string(REGEX REPLACE "(.+)\.sql" "\\1" TESTS_TO_RUN ${TEST_FILE})
file(APPEND ${TEST_SCHEDULE_SHARED} "test: ${TESTS_TO_RUN}\n")
if(GROUP_MEMBERS EQUAL 0)
file(APPEND ${TEST_SCHEDULE_SHARED} "\ntest: ")
endif()
file(APPEND ${TEST_SCHEDULE_SHARED} "${TESTS_TO_RUN} ")
MATH(EXPR GROUP_MEMBERS "(${GROUP_MEMBERS}+1)%${PARALLEL_GROUP_SIZE}")
endforeach(TEST_FILE)
file(APPEND ${TEST_SCHEDULE_SHARED} "\n")