summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2023-03-25 09:14:42 +0100
committerHans de Graaff <graaff@gentoo.org>2023-03-26 08:29:43 +0200
commitd953ea8c71c24e2af21db0554ed18f7c17f13162 (patch)
tree6cf9129eb569415c8c12f5b303acbc944b5331f5 /eclass
parenteclass/ruby-fakegem.eclass: warn when using an unknown test recipe (diff)
downloadgentoo-d953ea8c71c24e2af21db0554ed18f7c17f13162.tar.gz
gentoo-d953ea8c71c24e2af21db0554ed18f7c17f13162.tar.bz2
gentoo-d953ea8c71c24e2af21db0554ed18f7c17f13162.zip
eclass/ruby-fakegem.eclass: add support for sus test runner
Signed-off-by: Hans de Graaff <graaff@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/ruby-fakegem.eclass9
-rw-r--r--eclass/ruby-ng.eclass25
2 files changed, 34 insertions, 0 deletions
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