Fold common test code from runy-gnome2 ebuild to this eclass.

To support test under virtx, introduce RUBY_GNOME2_NEED_VIRTX variable.

Signed-off-by: Naohiro Aota <na...@gentoo.org>
---
 eclass/ruby-ng-gnome2.eclass | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index a1a84f3045ed..3ba1a11c21d0 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -24,7 +24,17 @@ RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN#ruby-}}"
 RUBY_FAKEGEM_TASK_TEST=""
 RUBY_FAKEGEM_TASK_DOC=""
 
+# @ECLASS-VARIABLE: RUBY_GNOME2_NEED_VIRTX
+# @PRE_INHERIT
+# @DESCRIPTION:
+# If set to 'yes', the test is run with virtx. Set before inheriting this
+# eclass.
+: ${RUBY_GNOME2_NEED_VIRTX:="no"}
+
 inherit ruby-fakegem
+if [[ ${RUBY_GNOME2_NEED_VIRTX} == yes ]]; then
+       inherit virtualx
+fi
 
 IUSE="test"
 RESTRICT="!test? ( test )"
@@ -89,3 +99,16 @@ all_ruby_install() {
 
        all_fakegem_install
 }
+
+# @FUNCTION: each_ruby_test
+# @DESCRIPTION:
+# Run the tests for this package.
+each_ruby_test() {
+       [[ -e test/run-test.rb ]] || return
+
+       if [[ ${RUBY_GNOME2_NEED_VIRTX} == yes ]]; then
+               virtx ${RUBY} test/run-test.rb
+       else
+               ${RUBY} test/run-test.rb || die
+       fi
+}
-- 
2.26.2


Reply via email to