Closes: https://bugs.gentoo.org/945081 Signed-off-by: Michał Górny <mgo...@gentoo.org> --- eclass/cmake.eclass | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 8079a5cb037b..9b05f29139a5 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -681,6 +681,19 @@ cmake-utils_src_make() { die "cmake-utils_src_make is banned. Use cmake_build instead" } +# @ECLASS_VARIABLE: CTEST_JOBS +# @USER_VARIABLE +# @DESCRIPTION: +# Maximum number of CTest jobs to run in parallel. If unset, the value +# will be determined from make options. + +# @ECLASS_VARIABLE: CTEST_LOADAVG +# @USER_VARIABLE +# @DESCRIPTION: +# Maximum load, over which no new jobs will be started by CTest. Note +# that unlike make, CTest will not start *any* jobs if the load +# is exceeded. If unset, the value will be determined from make options. + # @FUNCTION: cmake_src_test # @DESCRIPTION: # Function for testing the package. Automatically detects the build type. @@ -694,8 +707,9 @@ cmake_src_test() { [[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure ) [[ -n ${CMAKE_SKIP_TESTS} ]] && myctestargs+=( -E '('$( IFS='|'; echo "${CMAKE_SKIP_TESTS[*]}")')' ) - set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \ - --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@" + set -- ctest -j "${CTEST_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 999)}" \ + --test-load "${CTEST_LOADAVG:-$(makeopts_loadavg)}" \ + "${myctestargs[@]}" "$@" echo "$@" >&2 if "$@" ; then einfo "Tests succeeded." -- 2.47.1