From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

---
 eclass/perl-module.eclass | 40 +++++++++++++++++++++++-----------------
 1 file changed, 23 insertions(+), 17 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index efcc47c..0d428d2 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -154,6 +154,8 @@ if [[ ${EAPI:-0} = 5 ]] ; then
                
SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}"
        [[ -z "${HOMEPAGE}" ]] && \
                HOMEPAGE="http://search.cpan.org/dist/${MODULE_NAME}/";
+
+       SRC_TEST="skip"
 else
        DIST_NAME=${DIST_NAME:-${PN}}
        DIST_P=${DIST_NAME}-${DIST_VERSION:-${PV}}
@@ -168,7 +170,6 @@ else
 fi
 
 SRC_PREP="no"
-SRC_TEST="skip"
 PREFER_BUILDPL="yes"
 
 pm_echovar=""
@@ -315,6 +316,18 @@ perl-module_src_compile() {
        fi
 }
 
+# @ECLASS-VARIABLE: DIST_TEST
+# @DESCRIPTION:
+# (EAPI=6) Variable that controls if tests are run in the test phase
+# at all, and if yes under which conditions. Defaults to "do parallel"
+# In EAPI=5 the variable is called SRC_TEST and defaults to "skip".
+# All of the following have been tested to work:
+#  DIST_TEST="do parallel"
+#  DIST_TEST="parallel"
+#  DIST_TEST="parallel do"
+#  DIST_TEST=parallel
+#  DIST_TEST=skip
+
 # @FUNCTION: perl-module_src-test
 # @USAGE: perl-module_src_test()
 # @DESCRIPTION:
@@ -323,24 +336,17 @@ perl-module_src_compile() {
 #
 # If you want more verbose testing, set TEST_VERBOSE=1
 # in your bashrc | /etc/portage/make.conf | ENV
-#
-# or ebuild writers:
-# If you wish to enable default tests w/ 'make test' ,
-#
-#  SRC_TEST="do"
-#
-# If you wish to have threads run in parallel ( using the users makeopts )
-# all of the following have been tested to work.
-#
-#  SRC_TEST="do parallel"
-#  SRC_TEST="parallel"
-#  SRC_TEST="parallel do"
-#  SRC_TEST=parallel
-#
 perl-module_src_test() {
        debug-print-function $FUNCNAME "$@"
-       if has 'do' ${SRC_TEST} || has 'parallel' ${SRC_TEST} ; then
-               if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' ${SRC_TEST} ; 
then
+       local my_test_control
+       if [[ ${EAPI:-0} = 5 ]] ; then
+               my_test_control=${SRC_TEST}
+       else
+               my_test_control=${DIST_TEST:-do parallel}
+       fi
+
+       if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; 
then
+               if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' 
${my_test_control} ; then
                        export HARNESS_OPTIONS=j$(makeopts_jobs)
                        einfo "Test::Harness Jobs=$(makeopts_jobs)"
                fi
-- 
2.6.3


Reply via email to