blob: 85b4e4bf2b15f5ab5baef5ca86996952001caa99 [file] [log] [blame]
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=SHAY
DIST_VERSION=1.40
inherit depend.apache perl-module
DESCRIPTION="Test.pm wrapper with helpers for testing Apache"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ia64 ~mips ppc ppc64 sparc x86"
IUSE="test"
DEPEND="virtual/perl-ExtUtils-MakeMaker"
need_apache
PATCHES=(
"${FILESDIR}/${P}-catfile-import.patch"
"${FILESDIR}/${P}-fix-missing-semicolon.patch"
"${FILESDIR}/${P}-phpclient.patch"
)
pkg_setup() {
perl_set_version
}
src_install() {
# This is to avoid conflicts with a deprecated Apache::Test stepping
# in and causing problems/install errors
if [ -f "${S}"/.mypacklist ];
then
rm -f "${S}"/.mypacklist
fi
perl-module_src_install
}
# Parallel tests seem to be bad.
DIST_TEST="do"
optdep_notice() {
local i
elog "This package has several modules which may require additional dependencies"
elog "to use. However, it is up to you to install them separately if you need this"
elog "optional functionality:"
elog
i="$(if has_version 'www-apache/mod_perl'; then echo '[I]'; else echo '[ ]'; fi)"
elog " $i www-apache/mod_perl"
elog " - Running Perl code natively in Apache via"
elog " Apache::TestHandler, Apache::TestReportPerl, or Apache::TestSmokePerl"
if use test; then
elog
elog "This module will perform additional tests if these dependencies are"
elog "pre-installed"
fi
}
src_test() {
optdep_notice
echo
local MODULES=(
"Apache::Test ${DIST_VERSION}"
"Apache::Test5005compat 0.01"
"Apache::TestBuild"
"Apache::TestClient"
"Apache::TestCommon"
"Apache::TestCommonPost"
"Apache::TestConfig"
"Apache::TestConfigC"
"Apache::TestConfigPHP"
"Apache::TestConfigParrot"
"Apache::TestConfigParse"
"Apache::TestConfigPerl"
"Apache::TestHarness"
"Apache::TestHarnessPHP"
"Apache::TestMB"
"Apache::TestMM"
"Apache::TestPerlDB"
"Apache::TestReport"
"Apache::TestRequest"
"Apache::TestRun"
"Apache::TestRunPHP 1.00"
"Apache::TestRunParrot 1.00"
"Apache::TestRunPerl 1.00"
"Apache::TestSSLCA"
"Apache::TestServer"
"Apache::TestSmoke"
"Apache::TestSort"
"Apache::TestTrace 0.01"
"Apache::TestUtil 0.02"
"Bundle::ApacheTest ${DISTVERSION}"
)
has_version "www-apache/mod_perl" && MODULES+=(
"Apache::TestHandler"
"Apache::TestReportPerl"
"Apache::TestSmokePerl"
)
local failed=()
for dep in "${MODULES[@]}"; do
ebegin "Compile testing ${dep}"
perl -Mblib="${S}" -M"${dep} ()" -e1
eend $? || failed+=( "$dep" )
done
if [[ ${failed[@]} ]]; then
echo
eerror "One or more modules failed compile:";
for dep in "${failed[@]}"; do
eerror " ${dep}"
done
die "Failing due to module compilation errors";
fi
perl_rm_files t/more/02testmore.t t/more/04testmore.t
perl-module_src_test
}
pkg_postinst() {
use test || optdep_notice
}