On 2023-03-25 09:18, Hans de Graaff wrote:
> 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=

How about making it a bash array?

> +     # 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
> 
> 

Reply via email to