diff options
author | William Hubbs <williamh@gentoo.org> | 2019-06-02 11:29:07 -0500 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2019-06-02 11:47:11 -0500 |
commit | fe02c66d4b7638575778dcb7cbeb09c42a83c764 (patch) | |
tree | 5f6c1bb4fbfafd99dce17caac03ec2d6f22f455f /eclass | |
parent | dev-lang/crystal: drop old (diff) | |
download | gentoo-fe02c66d4b7638575778dcb7cbeb09c42a83c764.tar.gz gentoo-fe02c66d4b7638575778dcb7cbeb09c42a83c764.tar.bz2 gentoo-fe02c66d4b7638575778dcb7cbeb09c42a83c764.zip |
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@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/meson.eclass | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 65b09932a7ac..b9562376b868 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 |