commit: fe02c66d4b7638575778dcb7cbeb09c42a83c764 Author: William Hubbs <williamh <AT> gentoo <DOT> org> AuthorDate: Sun Jun 2 16:29:07 2019 +0000 Commit: William Hubbs <williamh <AT> gentoo <DOT> org> CommitDate: Sun Jun 2 16:47:11 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe02c66d
meson.eclass: fix tests - use "meson test" to run tests instead of "eninja test" - calculate --num-processes based on ninjaopts or makeopts in the "meson test" call. - allow meson_src_test to accept arguments with the emesontestargs array or passed in the call like meson_src_configure Closes: https://bugs.gentoo.org/680010 Signed-off-by: William Hubbs <williamh <AT> gentoo.org> eclass/meson.eclass | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 65b09932a7a..b9562376b86 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -41,7 +41,7 @@ esac if [[ -z ${_MESON_ECLASS} ]]; then -inherit ninja-utils python-utils-r1 toolchain-funcs +inherit multiprocessing ninja-utils python-utils-r1 toolchain-funcs fi @@ -78,6 +78,12 @@ fi # Optional meson arguments as Bash array; this should be defined before # calling meson_src_configure. +# @VARIABLE: emesontestargs +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optional meson test arguments as Bash array; this should be defined before +# calling meson_src_test. + read -d '' __MESON_ARRAY_PARSER <<"EOF" import shlex @@ -246,12 +252,27 @@ meson_src_compile() { } # @FUNCTION: meson_src_test +# @USAGE: [extra meson test arguments] # @DESCRIPTION: # This is the meson_src_test function. meson_src_test() { debug-print-function ${FUNCNAME} "$@" - eninja -C "${BUILD_DIR}" test + local mesontestargs=( + --verbose + -C "${BUILD_DIR}" + ) + [[ -n ${NINJAOPTS} || -n ${MAKEOPTS} ]] && + mesontestargs+=( + --num-processes "$(makeopts_jobs ${NINJAOPTS:-${MAKEOPTS}})" + ) + + # Append additional arguments from ebuild + mesontestargs+=("${emesontestargs[@]}") + + set -- meson test "${mesontestargs[@]}" "$@" + echo "$@" >&2 + "$@" || die "tests failed" } # @FUNCTION: meson_src_install
