Signed-off-by: Hans de Graaff <gra...@gentoo.org> --- eclass/ruby-fakegem.eclass | 9 +++++++++ eclass/ruby-ng.eclass | 25 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+)
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass index 08e3ccf588ac..4ad1d8eca683 100644 --- a/eclass/ruby-fakegem.eclass +++ b/eclass/ruby-fakegem.eclass @@ -44,6 +44,7 @@ RUBY_FAKEGEM_TASK_DOC="${RUBY_FAKEGEM_TASK_DOC-rdoc}" # - rspec3 (calls ruby-ng_rspec, adds dev-ruby/rspec:3 to the dependencies) # - cucumber (calls ruby-ng_cucumber, adds dev-util/cucumber to the # dependencies) +# - sus (calls ruby-ng_sus, adds dev-ruby/sus to the dependencies) # - none RUBY_FAKEGEM_RECIPE_TEST="${RUBY_FAKEGEM_RECIPE_TEST-rake}" @@ -193,6 +194,11 @@ case ${RUBY_FAKEGEM_RECIPE_TEST} in RESTRICT+=" !test? ( test )" ruby_add_bdepend "test? ( dev-util/cucumber )" ;; + sus) + IUSE+=" test" + RESTRICT+=" !test? ( test )" + ruby_add_bdepend "test? ( dev-ruby/sus )" + ;; none) ;; *) @@ -566,6 +572,9 @@ each_fakegem_test() { cucumber) ruby-ng_cucumber ;; + sus) + ruby-ng_sus + ;; none) ewarn "each_fakegem_test called, but \${RUBY_FAKEGEM_RECIPE_TEST} is 'none'" ;; diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass index f85a933f81d9..c273a431c5b1 100644 --- a/eclass/ruby-ng.eclass +++ b/eclass/ruby-ng.eclass @@ -757,6 +757,31 @@ ruby-ng_cucumber() { CUCUMBER_PUBLISH_QUIET=true ${RUBY} -S cucumber ${cucumber_params} "$@" || die -n "cucumber failed" } +# @FUNCTION: ruby-ng_sus +# @DESCRIPTION: +# This is simply a wrapper around the sus-parallel command (executed by $RUBY}) +# which also respects TEST_VERBOSE and NOCOLOR environment variables. +ruby-ng_sus() { + debug-print-function ${FUNCNAME} "${@}" + + if [[ "${DEPEND}${BDEPEND}" != *"dev-ruby/sus"* ]]; then + ewarn "Missing test dependency dev-ruby/sus" + fi + + local sus_params= + + # sus has a --verbose argument but it does not seem to impact the output (yet?) + case ${TEST_VERBOSE} in + 1|yes|true) + sus_params+=" --verbose" + ;; + *) + ;; + esac + + ${RUBY} -S sus-parallel ${sus_params} "$@" || die -n "sus failed" +} + # @FUNCTION: ruby-ng_testrb-2 # @DESCRIPTION: # This is simply a replacement for the testrb command that load the test -- 2.39.2