diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass index 8079a5cb03..e1bad4cbd1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @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:-$(get_makeopts_jobs 999)}" \ + --test-load "${CTEST_LOADAVG:-$(get_makeopts_loadavg)}" \ + "${myctestargs[@]}" "$@" echo "$@" >&2 if "$@" ; then einfo "Tests succeeded."