From bbb006370a87e5c60f21145a1c97a8dbbe42e7fe Mon Sep 17 00:00:00 2001 From: Crucible Date: Sun, 4 Oct 2026 03:05:07 -0500 Subject: Publish srcux candidate 0000000563-20261004-030310 --- dev-java/testng/Manifest | 1 + .../testng-7.12.0-SkipFrom-XmlVerifyTest.patch | 17 ++ dev-java/testng/testng-7.12.0.ebuild | 183 +++++++++++++++++++++ 3 files changed, 201 insertions(+) create mode 100644 dev-java/testng/files/testng-7.12.0-SkipFrom-XmlVerifyTest.patch create mode 100644 dev-java/testng/testng-7.12.0.ebuild (limited to 'dev-java/testng') 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 +} -- cgit v1.3