diff options
Diffstat (limited to 'dev-java/testng')
-rw-r--r-- | dev-java/testng/testng-6.8-r3.ebuild | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/dev-java/testng/testng-6.8-r3.ebuild b/dev-java/testng/testng-6.8-r3.ebuild new file mode 100644 index 000000000000..83f523f9ea6e --- /dev/null +++ b/dev-java/testng/testng-6.8-r3.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +JAVA_PKG_IUSE="doc examples source test" + +inherit java-pkg-2 java-ant-2 + +DESCRIPTION="Testing framework introducing some new functionalities that make it more powerful and easier to use" +HOMEPAGE="http://testng.org/" +SRC_URI="http://${PN}.org/${P}.zip" + +LICENSE="Apache-2.0" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +CDEPEND=" + dev-java/bsh:0 + dev-java/guice:2 + dev-java/junit:4 + dev-java/ant-core:0 + dev-java/jcommander:0 + dev-java/snakeyaml:1.9" + +DEPEND=">=virtual/jdk-1.6 + app-arch/zip + ${CDEPEND}" + +RDEPEND=">=virtual/jre-1.6 + ${CDEPEND}" + +JAVA_ANT_CLASSPATH_TAGS+=" testng javadocs-current" +JAVA_PKG_BSFIX_NAME="build.xml build-tests.xml" +JAVA_ANT_REWRITE_CLASSPATH="true" +JAVA_ANT_ENCODING="ISO-8859-1" + +EANT_GENTOO_CLASSPATH="ant-core,bsh,guice-2,jcommander,junit-4,snakeyaml-1.9" +EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH}" + +EANT_BUILD_TARGET="build" +EANT_TEST_TARGET="tests" +EANT_DOC_TARGET="javadocs" + +PATCHES=( + "${FILESDIR}"/${P}-remove-ivy-retrieve.patch + "${FILESDIR}"/${P}-remove-jar-bundling.patch +) + +# Error: A JNI error has occurred, please check your installation and try again. +RESTRICT="test" + +java_prepare() { + java-pkg_clean + + cp "${FILESDIR}"/${P}-build-tests.xml build-tests.xml || die + + epatch "${PATCHES[@]}" + + # Removal of tests that break due to restrictions or environment expectations: + # ServiceLoaderTest - Breaks due absolute URL load that Portage prevents; + # we assume the underlying functionality to work, as + # the underlying functionality is simple and should + # show the usage of this package to break. + sed -i '/test.serviceloader.ServiceLoaderTest/d' src/test/resources/testng.xml || die + + # TrueParallelTest - Doesn't always work, especially not on a system + # under load; since this could fail during parallel + # emerges, we assume the underlying functionality to + # work as it has definitely succeeded under lower load. + sed -i '/test.thread.TrueParallelTest/d' src/test/resources/testng.xml || die + + mkdir lib || die +} + +src_test() { + java-pkg-2_src_test + + local tests_file="target/test-output/index.html" + + if [[ ! -f ${tests_file} ]] ; then + die "Tests failed, test output does not exist; a problem with starting the tests." + fi + + grep 'method-stats.*failed' target/test-output/index.html > /dev/null && \ + die "Tests failed; one or more test failed, see ${tests_file} for more details." +} + +src_install() { + java-pkg_newjar target/${P}.jar + java-pkg_dolauncher ${PN} --main org.testng.TestNG + java-pkg_register-ant-task + + use doc && java-pkg_dojavadoc javadocs + use examples && java-pkg_doexamples examples + use source && java-pkg_dosrc src/main/java/{org,com} +} |