[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] [PATCH] cmake-utils.eclass: Support running ctest in parallel
From:       Michał Górny <mgorny () gentoo ! org>
Date:       2016-12-19 15:48:45
Message-ID: 20161219154845.21691-1-mgorny () gentoo ! org
[Download RAW message or body]

Pass -j and --test-load options (with values based on MAKEOPTS) to CTest
by default, in order to enable parallel test runs.
---
 eclass/cmake-utils.eclass | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index 1fddae1ace8b..26e024e6824e 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -117,7 +117,7 @@ case ${EAPI} in
 	*) die "EAPI=${EAPI:-0} is not supported" ;;
 esac
 
-inherit toolchain-funcs multilib flag-o-matic eutils versionator
+inherit toolchain-funcs multilib flag-o-matic eutils multiprocessing versionator
 
 EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
 
@@ -780,8 +780,9 @@ enable_cmake-utils_src_test() {
 
 	[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
 
-	echo ctest "${myctestargs[@]}" "$@"
-	if ctest "${myctestargs[@]}" "$@" ; then
+	set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
+	echo "$@" >&2
+	if "$@" ; then
 		einfo "Tests succeeded."
 		popd > /dev/null || die
 		return 0
-- 
2.11.0


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic