summaryrefslogtreecommitdiff
path: root/dev-java/testng
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/testng')
-rw-r--r--dev-java/testng/Manifest1
-rw-r--r--dev-java/testng/files/testng-7.12.0-SkipFrom-XmlVerifyTest.patch17
-rw-r--r--dev-java/testng/testng-7.12.0.ebuild183
3 files changed, 201 insertions, 0 deletions
diff --git a/dev-java/testng/Manifest b/dev-java/testng/Manifest
index 1e6432f6d3ff..61e5f76be454 100644
--- a/dev-java/testng/Manifest
+++ b/dev-java/testng/Manifest
@@ -4,3 +4,4 @@ DIST jlibs-core-3.0.1.jar 273505 BLAKE2B f09857d8c9e9f784f0158a0da6f990fb1cfe98a
DIST jquery-3.7.1.jar 307911 BLAKE2B 6aca8f3e1bc5448018b20f04e2a7ae9d3ecde7a9e6471af7a560aa89a52dbadf798244781df843467673a11a9db334414ec4f6610c65bd751b5a5f53e70099c0 SHA512 a15af2262b4bf3f465310877a2e57b8efe6c0654abcd35ac3614d1b79666628786224e1dc19857bded72bc02b9a21cd437adffbed34f21050f9b348a07b11a7d
DIST kotlin-compiler-2.2.0.zip 78044187 BLAKE2B cc2520d0b93299c715b6be809c94ef0ce2e52f69687429f7e8e1f3fefa9e2e951748b8b0cbef40e51bf47a849210e9e064048707b133a8180c14215c0e763bc5 SHA512 3d5c25cc34e1b916646a1fc5ad8428df52136034fe03e95dcb2b0682eaecb8eeeaf3720422a415872514326e26bb84bb9f6ea46ac5926a77109f56c8421db3e7
DIST testng-7.11.0.tar.gz 912532 BLAKE2B 44578931a8d933caacbd9845ffe217f1f70cb7c485c7f0caf4cb09b6780aeb18d8b7aac94d460d6736d9e308572c2e149532d494a4ae229edc1298878aec12cd SHA512 4f45eea5aedd2c26827d8628db79230338c3d49f7efd53ec13ebb28d5090024529960d39bdc53126cdf2c8f17ab8a0ce07424908e3e2f7155f0ff6185dffc0d1
+DIST testng-7.12.0.tar.gz 943572 BLAKE2B d963dfa53c3895369b1c715c7f1195c00155f56ebee75a3d619e4c82f9727dc56d2a3207cf2da068c168c148b4ff8438bb5e2302efe57660cfe52699b1a3d935 SHA512 6ec78fb5e43657431162f25cb9e1f4d8f687d7b84ae2882c95eb8dfc5b1d4237346f868c4028fac1be616aa0ace6c203804e8ccfc98191a277465c62d16c5967
diff --git a/dev-java/testng/files/testng-7.12.0-SkipFrom-XmlVerifyTest.patch b/dev-java/testng/files/testng-7.12.0-SkipFrom-XmlVerifyTest.patch
new file mode 100644
index 000000000000..e87546233455
--- /dev/null
+++ b/dev-java/testng/files/testng-7.12.0-SkipFrom-XmlVerifyTest.patch
@@ -0,0 +1,17 @@
+FAILED: test.xml.XmlVerifyTest.testThreadPoolRelatedAttributesPresentInXml
+ GITHUB-3177
+java.net.UnknownHostException: testng.org
+
+diff --git a/testng-core/src/test/java/test/xml/XmlVerifyTest.java b/testng-core/src/test/java/test/xml/XmlVerifyTest.java
+index c173dc6..c06ab62 100644
+--- a/testng-core/src/test/java/test/xml/XmlVerifyTest.java
++++ b/testng-core/src/test/java/test/xml/XmlVerifyTest.java
+@@ -49,7 +49,7 @@ public class XmlVerifyTest extends SimpleBaseTest {
+ assertThat(xml).doesNotContain(DEFAULT_SUITE);
+ }
+
+- @Test(description = "GITHUB-3177")
++ @Test(enabled = false, description = "GITHUB-3177")
+ public void testThreadPoolRelatedAttributesPresentInXml() throws Exception {
+ XmlSuite suite = createSuite();
+ suite.setShareThreadPoolForDataProviders(true);
diff --git a/dev-java/testng/testng-7.12.0.ebuild b/dev-java/testng/testng-7.12.0.ebuild
new file mode 100644
index 000000000000..b88940bc48f1
--- /dev/null
+++ b/dev-java/testng/testng-7.12.0.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="testng"
+
+inherit java-pkg-2 java-pkg-simple
+
+# Presently we install the binary version of jquery since it is not packaged in ::gentoo.
+JQV="3.7.1" # jquery
+# These are used only for tests, we don't install them.
+AGV="5.0.2" # groovyc compiler
+GAV="3.0.22" # groovy
+JCV="3.0.1" # jlibs-core, to be packaged
+KCV="2.2.0" # kotlin-compiler
+
+DESCRIPTION="Testing framework inspired by JUnit and NUnit with new features"
+HOMEPAGE="https://testng.org/"
+SRC_URI="https://github.com/testng-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://repo1.maven.org/maven2/org/webjars/jquery/${JQV}/jquery-${JQV}.jar
+ test? (
+ mirror://apache/groovy/${AGV}/distribution/apache-groovy-binary-${AGV}.zip
+ https://github.com/JetBrains/kotlin/releases/download/v${KCV}/kotlin-compiler-${KCV}.zip
+ https://repo1.maven.org/maven2/in/jlibs/jlibs-core/${JCV}/jlibs-core-${JCV}.jar
+ https://repo1.maven.org/maven2/org/codehaus/groovy/groovy/${GAV}/groovy-${GAV}.jar
+ )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+BDEPEND="app-arch/unzip"
+
+CP_DEPEND="
+ >=dev-java/guice-7.0.0:0
+ >=dev-java/jcommander-1.83:0
+ dev-java/slf4j-api:0
+ >=dev-java/snakeyaml-2.5:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/assertj-core-3.27.6:0
+ >=dev-java/bsh-2.1.1-r2:0
+ >=dev-java/commons-io-2.21.0:0
+ >=dev-java/guava-33.5.0:0
+ >=dev-java/javax-inject-1-r4:0
+ >=dev-java/jetbrains-annotations-26.0.2:0
+ dev-java/junit:4
+ >=dev-java/mockito-5.21.0:0
+ >=dev-java/shrinkwrap-api-1.2.6:0
+ >=dev-java/shrinkwrap-impl-base-1.2.6:0
+ >=dev-java/slf4j-simple-2.0.3:0
+ >=dev-java/xmlunit-core-2.11.0:0
+ )
+"
+
+# reason: '<>' with anonymous inner classes is not supported in -source 8
+# (use -source 9 or higher to enable '<>' with anonymous inner classes)
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-11:*
+ dev-java/jsr305:0
+"
+
+DOCS=( README.md {ANNOUNCEMENT,CHANGES}.txt )
+PATCHES=(
+ "${FILESDIR}/testng-7.11.0-skipDynamicDataProviderLoadingTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-ClassHelperTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-FailedInvocationCountTest.patch" # pass for normal user
+ "${FILESDIR}/testng-7.11.0-SkipFrom-FailedReporterTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-GroovyTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-GuiceTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-HookableTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-JitBindingTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-ScriptTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-XmlSuiteTest.patch"
+ "${FILESDIR}/testng-7.11.0-SkipFrom-YamlTest.patch"
+ "${FILESDIR}/testng-7.12.0-SkipFrom-XmlVerifyTest.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="org.testng"
+JAVA_MAIN_CLASS="org.testng.TestNG"
+JAVA_RESOURCE_DIRS="testng-core/src/main/resources"
+JAVA_SRC_DIR=(
+ testng-asserts/src/main/java
+ testng-collections/src/main/java
+ testng-core-api/src/main/java
+ testng-core/src/main/java
+ testng-reflection-utils/src/main/java
+ testng-runner-api/src/main/java
+)
+
+JAVA_TEST_EXTRA_ARGS=( -Dtest.resources.dir=src/test/resources )
+JAVA_TEST_GENTOO_CLASSPATH="assertj-core bsh commons-io guice javax-inject jetbrains-annotations junit-4 mockito shrinkwrap-api shrinkwrap-impl-base slf4j-simple xmlunit-core"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_RUN_ONLY="testng-core/src/test/resources/testng.xml"
+JAVA_TEST_SRC_DIR=(
+ testng-core/src/test
+ testng-asserts/src/test
+ testng-test-kit/src/main/java
+# testng-test-osgi/src/test/java # error: package org.ops4j.pax.exam does not exist
+)
+
+src_unpack () {
+ # do not unpack anything except testng
+ unpack "${P}.tar.gz"
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./testng-core/src/test/*"
+ mkdir -p src/test || die
+ cp -vr testng-core/src/test/resources src/test || die "move test resources"
+ mkdir -p build/resources/test || die
+ cp {testng-core/src/test/resources,build/resources/test}/2532.xml || die
+}
+
+src_test() {
+ # import org.netbeans.lib.profiler.heap.HeapFactory2 # error: unresolved reference 'HeapFactory2'
+ # Tried with 'org-netbeans-lib-profiler-2.2.0.jar' which contains 'HeapFactory' but not 'HeapFactory2'.
+ rm testng-core/src/test/kotlin/org/testng/dataprovider/DynamicDataProviderLoadingTest.kt || die
+ # With a patch we also remove it from testng-core/src/test/resources/testng.xml
+
+ # Removing the above file leads to:
+ # import org.testng.dataprovider.DynamicDataProviderLoadingTest
+ # error: unresolved reference 'DynamicDataProviderLoadingTest'.
+ rm testng-core/src/test/kotlin/org/testng/dataprovider/sample/issue2724/SampleDPUnloaded.kt || die
+
+ # Almost all tests want to 'import test.SimpleBaseTest;'. In the past this was
+ # built from 'SimpleBaseTest.java' which was changed to 'SimpleBaseTest.kt'.
+
+ # Step 1 creates a list of sources to be processed with 'kotlinc'
+ # (the kotlin compiler), then lets it create the classes.
+ unzip -q "${DISTDIR}/kotlin-compiler-${KCV}.zip" || die "unzip kotlin"
+ local CP="${DISTDIR}/jlibs-core-${JCV}.jar"
+ find ${JAVA_TEST_SRC_DIR[@]} \
+ -type f \( -name '*.kt' -o -name '*.java' \) \
+ > testng_kotlinc_sources || die "find for kotlinc"
+ einfo "Running kotlinc"
+ kotlinc/bin/kotlinc \
+ -cp "${PN}.jar:${CP}:$(java-pkg_getjars --build-only assertj-core)" \
+ -d generated-test @testng_kotlinc_sources || die "kotlinc"
+
+ # Step 2 creates a few classes which are needed for processing '*.groovy' sources.
+ find ${JAVA_TEST_SRC_DIR[@]} -type f -name 'InvokedMethodNameListener.java' \
+ > testng_ejavac_sources || die "find"
+ einfo "Running ejavac"
+ ejavac \
+ -cp "${PN}.jar:generated-test:$(java-pkg_getjars --build-only guava)" \
+ -d generated-test @testng_ejavac_sources
+
+ # Step 3 creates a list of '*.groovy' sources and passes it to
+ # groovyc (the groovy compiler) for creating the classes.
+ unzip -q "${DISTDIR}/apache-groovy-binary-${AGV}.zip" || die
+ find ${JAVA_TEST_SRC_DIR[@]} -type f -name '*.groovy' \
+ > testng_groovy_sources || die "find"
+ einfo "Running groovyc"
+ "groovy-${AGV}/bin/groovyc" \
+ -cp generated-test:"$(java-pkg_getjars --build-only assertj-core)" \
+ -d generated-test @testng_groovy_sources || die
+
+ # Step 4 finally builds all remaining test-classes and runs the tests.
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/groovy-${GAV}.jar"
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":kotlinc/lib/kotlin-stdlib.jar"
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":kotlinc/lib/kotlin-reflect.jar"
+ JAVA_TEST_EXTRA_ARGS=( -Dtest.resources.dir=src/test/resources )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ java-pkg_newjar "${DISTDIR}/jquery-${JQV}.jar" jquery.jar
+ java-pkg_regjar "${ED}/usr/share/${PN}/lib/jquery.jar"
+
+ java-pkg_register-dependency jsr305
+}