Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: kde@g.o, "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH] cmake-utils.eclass: Support running ctest in parallel
Date: Mon, 19 Dec 2016 15:49:58
Message-Id: 20161219154845.21691-1-mgorny@gentoo.org
1 Pass -j and --test-load options (with values based on MAKEOPTS) to CTest
2 by default, in order to enable parallel test runs.
3 ---
4 eclass/cmake-utils.eclass | 7 ++++---
5 1 file changed, 4 insertions(+), 3 deletions(-)
6
7 diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
8 index 1fddae1ace8b..26e024e6824e 100644
9 --- a/eclass/cmake-utils.eclass
10 +++ b/eclass/cmake-utils.eclass
11 @@ -117,7 +117,7 @@ case ${EAPI} in
12 *) die "EAPI=${EAPI:-0} is not supported" ;;
13 esac
14
15 -inherit toolchain-funcs multilib flag-o-matic eutils versionator
16 +inherit toolchain-funcs multilib flag-o-matic eutils multiprocessing versionator
17
18 EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
19
20 @@ -780,8 +780,9 @@ enable_cmake-utils_src_test() {
21
22 [[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
23
24 - echo ctest "${myctestargs[@]}" "$@"
25 - if ctest "${myctestargs[@]}" "$@" ; then
26 + set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
27 + echo "$@" >&2
28 + if "$@" ; then
29 einfo "Tests succeeded."
30 popd > /dev/null || die
31 return 0
32 --
33 2.11.0

Replies