summaryrefslogtreecommitdiff
path: root/eclass/cmake.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/cmake.eclass')
-rw-r--r--eclass/cmake.eclass18
1 files changed, 16 insertions, 2 deletions
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index cf6c6355b7a..2d78ebccf4b 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -625,6 +625,19 @@ cmake_build() {
popd > /dev/null || die
}
+# @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.
@@ -638,8 +651,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."