From: dilfridge@gentoo.org
To: gentoo-dev@lists.gentoo.org
Cc: "Andreas K. Hüttel" <dilfridge@gentoo.org>
Subject: [gentoo-dev] [PATCH 14/15] perl-module.eclass: Rewrite src_test for EAPI=6
Date: Fri, 11 Dec 2015 22:03:10 +0100 [thread overview]
Message-ID: <1449867791-30513-14-git-send-email-dilfridge@gentoo.org> (raw)
In-Reply-To: <1449867791-30513-1-git-send-email-dilfridge@gentoo.org>
From: Andreas K. Hüttel <dilfridge@gentoo.org>
---
eclass/perl-module.eclass | 65 ++++++++++++++++++++++++++++++++---------------
1 file changed, 45 insertions(+), 20 deletions(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index faa8a34..c174d5f 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -314,13 +314,14 @@ perl-module_src_compile() {
# @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
+# If neither "do" nor "parallel" is recognized, tests are skipped.
+# (In EAPI=5 the variable is called SRC_TEST, defaults to "skip", and
+# recognizes fewer options.)
+# The following space-separated keywords are recognized:
+# do : run tests
+# parallel : run tests in parallel
+# verbose : increase test verbosity
+# network : do not try to disable network tests
# @ECLASS-VARIABLE: DIST_TEST_OVERRIDE
# @DESCRIPTION:
@@ -333,33 +334,57 @@ perl-module_src_compile() {
# @FUNCTION: perl-module_src-test
# @USAGE: perl-module_src_test()
# @DESCRIPTION:
-# This code attempts to work out your threadingness from MAKEOPTS
-# and apply them to Test::Harness.
-#
-# If you want more verbose testing, set TEST_VERBOSE=1
-# in your bashrc | /etc/portage/make.conf | ENV
+# This code attempts to work out your threadingness and runs tests
+# according to the settings of DIST_TEST using Test::Harness.
perl-module_src_test() {
debug-print-function $FUNCNAME "$@"
local my_test_control
+ local my_test_verbose
+
if [[ ${EAPI:-0} = 5 ]] ; then
my_test_control=${SRC_TEST}
+ my_test_verbose=${TEST_VERBOSE:-0}
+ if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; then
+ if has "${my_test_verbose}" 0 && has 'parallel' ${my_test_control} ; then
+ export HARNESS_OPTIONS=j$(makeopts_jobs)
+ einfo "Test::Harness Jobs=$(makeopts_jobs)"
+ fi
+ else
+ einfo Skipping tests due to SRC_TEST=${SRC_TEST}
+ return 0
+ fi
else
[[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn DIST_TEST_OVERRIDE is set to ${DIST_TEST_OVERRIDE}
my_test_control=${DIST_TEST_OVERRIDE:-${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
+ if ! has 'do' ${my_test_control} && ! has 'parallel' ${my_test_control} ; then
+ einfo Skipping tests due to DIST_TEST=${my_test_control}
+ return 0
+ fi
+
+ if has verbose ${my_test_control} ; then
+ my_test_verbose=1
+ else
+ my_test_verbose=0
+ fi
+
+ if has parallel ${my_test_control} ; then
export HARNESS_OPTIONS=j$(makeopts_jobs)
einfo "Test::Harness Jobs=$(makeopts_jobs)"
fi
- perl_set_version
- if [[ -f Build ]] ; then
- ./Build test verbose=${TEST_VERBOSE:-0} || die "test failed"
- elif [[ -f Makefile ]] ; then
- emake test TEST_VERBOSE=${TEST_VERBOSE:-0} || die "test failed"
+
+ # this might sometimes work...
+ if ! has network ${my_test_control} ; then
+ export NO_NETWORK_TESTING=1
fi
fi
+
+ perl_set_version
+ if [[ -f Build ]] ; then
+ ./Build test verbose=${my_test_verbose} || die "test failed"
+ elif [[ -f Makefile ]] ; then
+ emake test TEST_VERBOSE=${my_test_verbose} || die "test failed"
+ fi
}
# @FUNCTION: perl-module_src_install
--
2.6.3
next prev parent reply other threads:[~2015-12-11 21:09 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-11 21:01 [gentoo-dev] perl-module.eclass EAPI=6 support Andreas K. Huettel
2015-12-11 21:02 ` [gentoo-dev] [PATCH 01/15] perl-module.eclass: Allow EAPI=6, ban PERL_EXPORT_PHASE_FUNCTIONS there, simplify perl dependency dilfridge
2015-12-11 21:02 ` [gentoo-dev] [PATCH 02/15] perl-module.eclass: Remove references to perlinfo_done dilfridge
2015-12-11 21:02 ` [gentoo-dev] [PATCH 03/15] perl-module.eclass: Just go ahead when calling configure twice in EAPI=6 dilfridge
2015-12-12 11:50 ` Michał Górny
2015-12-12 16:14 ` Andreas K. Huettel
2015-12-11 21:03 ` [gentoo-dev] [PATCH 04/15] perl-module.eclass: Use default unpacking from EAPI=6 on dilfridge
2015-12-11 23:40 ` Ulrich Mueller
2015-12-12 20:23 ` Andreas K. Huettel
2015-12-11 21:03 ` [gentoo-dev] [PATCH 05/15] perl-module.eclass: Use eapply from EAPI=6 on and always call eapply_user dilfridge
2015-12-12 11:54 ` Michał Górny
2015-12-12 20:23 ` Andreas K. Huettel
2015-12-11 21:03 ` [gentoo-dev] [PATCH 06/15] perl-module.eclass: Introduce MODULE_NAME and MODULE_P while still keeping existing weirdness compatible dilfridge
2015-12-12 11:57 ` Michał Górny
2015-12-11 21:03 ` [gentoo-dev] [PATCH 07/15] perl-module.eclass: Do not do any magic with MY_... variables in EAPI=6 anymore dilfridge
2015-12-12 11:59 ` Michał Górny
2015-12-12 20:26 ` Andreas K. Huettel
2015-12-11 21:03 ` [gentoo-dev] [PATCH 08/15] perl-module.eclass: Document variables available in EAPI=6 dilfridge
2015-12-11 21:03 ` [gentoo-dev] [PATCH 09/15] perl-module.eclass: Use DIST_ prefix instead of MODULE_ prefix in EAPI=6 for control variables dilfridge
2015-12-12 9:15 ` [gentoo-dev] " Duncan
2015-12-12 20:29 ` Andreas K. Huettel
2015-12-13 6:09 ` Duncan
2015-12-12 12:01 ` [gentoo-dev] " Michał Górny
2015-12-12 20:31 ` Andreas K. Huettel
2015-12-11 21:03 ` [gentoo-dev] [PATCH 10/15] perl-module.eclass: Rename SRC_TEST to DIST_TEST in EAPI=6 and default to "do parallel" dilfridge
2015-12-12 12:03 ` Michał Górny
2015-12-12 20:41 ` Andreas K. Huettel
2015-12-13 2:23 ` Kent Fredric
2015-12-26 11:53 ` Jeroen Roovers
2015-12-27 11:37 ` Andreas K. Huettel
2015-12-11 21:03 ` [gentoo-dev] [PATCH 11/15] perl-module.eclass: Introduce DIST_TEST_OVERRIDE in EAPI=6 dilfridge
2015-12-12 12:05 ` Michał Górny
2015-12-12 12:06 ` Michał Górny
2015-12-12 16:13 ` Andreas K. Huettel
2015-12-11 21:03 ` [gentoo-dev] [PATCH 12/15] perl-module.eclass: Minor docu improvements dilfridge
2015-12-11 21:03 ` [gentoo-dev] [PATCH 13/15] perl-module.eclass: Make some former warnings fatal to get rid of PERLQAFATAL, eqawarn, and (in EAPI=6) eutils.eclass dilfridge
2015-12-11 21:03 ` dilfridge [this message]
2015-12-11 21:03 ` [gentoo-dev] [PATCH 15/15] dev-perl/CGI: Add EAPI=6 test ebuild dilfridge
2015-12-12 11:49 ` [gentoo-dev] [PATCH 01/15] perl-module.eclass: Allow EAPI=6, ban PERL_EXPORT_PHASE_FUNCTIONS there, simplify perl dependency Michał Górny
2015-12-12 20:22 ` Andreas K. Huettel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1449867791-30513-14-git-send-email-dilfridge@gentoo.org \
--to=dilfridge@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox