commit:     bc7a362c924578aca5d492116947f2b1afb8df59
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Oct 15 13:44:10 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Oct 28 19:25:06 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc7a362c

dev-java/testng: add 7.11.0

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Part-of: https://github.com/gentoo/gentoo/pull/44266
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/testng/Manifest                           |   6 +
 .../testng-7.11.0-SkipFrom-ClassHelperTest.patch   | 110 +++++++++++++
 ...7.11.0-SkipFrom-FailedInvocationCountTest.patch |  52 ++++++
 ...testng-7.11.0-SkipFrom-FailedReporterTest.patch |  20 +++
 .../files/testng-7.11.0-SkipFrom-GroovyTest.patch  |  21 +++
 .../files/testng-7.11.0-SkipFrom-GuiceTest.patch   |  99 +++++++++++
 .../testng-7.11.0-SkipFrom-HookableTest.patch      |  19 +++
 .../testng-7.11.0-SkipFrom-JitBindingTest.patch    |  16 ++
 .../files/testng-7.11.0-SkipFrom-ScriptTest.patch  |  29 ++++
 .../testng-7.11.0-SkipFrom-XmlSuiteTest.patch      |  32 ++++
 .../files/testng-7.11.0-SkipFrom-YamlTest.patch    |  69 ++++++++
 ...7.11.0-skipDynamicDataProviderLoadingTest.patch |  25 +++
 dev-java/testng/testng-7.11.0.ebuild               | 183 +++++++++++++++++++++
 13 files changed, 681 insertions(+)

diff --git a/dev-java/testng/Manifest b/dev-java/testng/Manifest
index 0c4ed92063e4..0c93aa9768aa 100644
--- a/dev-java/testng/Manifest
+++ b/dev-java/testng/Manifest
@@ -1,5 +1,11 @@
 DIST apache-groovy-binary-2.4.21.zip 37467992 BLAKE2B 
e0f925bad53f0f8a7012f0bea420ec3e5986118cc23cd677a11f619284754eacc15c3012cf780063fef574053781bba924a86e5fa2ac284d86f349ad18173704
 SHA512 
e2f73405d7521b99e3ce5622cffcc505bbc039ccb1c35696fc895d648a9325937a136cf97a229f7ac1b90b63ad8603881350c4d41e514ad45233fb333d76d510
+DIST apache-groovy-binary-5.0.2.zip 34506332 BLAKE2B 
db48db7075972de6474ee18a72007db94213db819ef14a7ccbd86f81f5422a1b438948d500c9bb8330aa864e79dd4004434af93a1c5d064852ed12a50a9652cf
 SHA512 
3798c077451a5d5b53b9a02c782c2c1e3c273cea735f8f6e3ed284cf4a0927a89a898fc78e73e449e38b2d94b1297dc8cfae8a42abf8d984f0e847b3a6fa6e73
+DIST groovy-3.0.22.jar 8053888 BLAKE2B 
3929db705f735d082b81fa341f49a2a22a461103e5c6af73f6c523bac2e6653199d7a9b4b2999119ec44a3b9c54341fd8744776dbee38685a8d0bda758147cd4
 SHA512 
6964bdf2a05f9c5e31b0d455c3c7573330d06fcef92358ab0ef6571a71f05d7f329e6e480f2164bbb7c11d44ebfdd16474f4aadb64189d2f5149d6f9f2b7cb58
 DIST groovy-all-2.4.7.jar 7015434 BLAKE2B 
23d22ddd78229c485ed9384169acee154258644249b856661e17d1d0efb5518e32473a26962b5d657a09b41d490813ed76254820ffdf39e83869209617b66c2d
 SHA512 
4c26ff9f7137c0506c95f7ba1d4228ce57e16d87b77dd1d114390224207d71d3958460c7b5a239d5f41596ab87e7f4aa7aaea1dfce19a50badf8f9b818329c54
+DIST jlibs-core-3.0.1.jar 273505 BLAKE2B 
f09857d8c9e9f784f0158a0da6f990fb1cfe98a71b0f6efca47360977409e5818fb96a6f3ba551a82a63f1e33008ed95bd1dfbf47af2dcd9b5cfa5c6d81cb6a6
 SHA512 
89df63b06a59dd4ea2a039e90443fe70c3b8f2ab6080b525f1b7cde3b3d8e7470b4340e6096753ddecf8e7bf73df8652cef950d8f33a2e47b273d14a778c6d3b
 DIST jquery-3.5.1.jar 313070 BLAKE2B 
76abfbd21d83f72a3cfcb666f3a2fcfcf5975e723a462996bac9701caf6b59cb9998746af713ebb1f6bfe49cce91544216cc65dc6819e95e8a15930744685415
 SHA512 
9f560415b36875958ff1d3c6d37fa79d6d134c5f5fc7719dd21db36d1f24dec39787834b2a9ffb104ec6b56e725ccc524a8ff9b189ced3d68e24296b2daae720
+DIST jquery-3.7.1.jar 307911 BLAKE2B 
6aca8f3e1bc5448018b20f04e2a7ae9d3ecde7a9e6471af7a560aa89a52dbadf798244781df843467673a11a9db334414ec4f6610c65bd751b5a5f53e70099c0
 SHA512 
a15af2262b4bf3f465310877a2e57b8efe6c0654abcd35ac3614d1b79666628786224e1dc19857bded72bc02b9a21cd437adffbed34f21050f9b348a07b11a7d
+DIST kotlin-compiler-2.2.0.zip 78044187 BLAKE2B 
cc2520d0b93299c715b6be809c94ef0ce2e52f69687429f7e8e1f3fefa9e2e951748b8b0cbef40e51bf47a849210e9e064048707b133a8180c14215c0e763bc5
 SHA512 
3d5c25cc34e1b916646a1fc5ad8428df52136034fe03e95dcb2b0682eaecb8eeeaf3720422a415872514326e26bb84bb9f6ea46ac5926a77109f56c8421db3e7
 DIST spock-core-1.0-groovy-2.4.jar 588030 BLAKE2B 
68d8fad8b6ffb45a18778797ea23d4f3b09256bf4e9f207ee666d07572399cd13522e6f1590219a80e23f6906a2e9eaf1f22c6a3c01717e8c1e99b5d37b89210
 SHA512 
078c0b16688eaa3134043e58ed4273981797ea92f08723b5508c7d7e4f635278dd5ca731fb294da2a1f35674623d969ee423d4344c2c822e1d4cb8d4f3383790
 DIST testng-6.11.tar.gz 677522 BLAKE2B 
2e7bf30fcf805cce5a7ec42f22c39e9f4678642fcde9752c51d118e655189805661edeeff1a3db0e960c79e7542fe25ab8fa6995f142da12b3adc8753fd8a361
 SHA512 
996d7a18399e16626756b7a790182c7b6bf3453280209d0a09d4a509d698fcad1a80e58ec36702de95bd59c90c237463719ad44934c14390620fc9655d871252
+DIST testng-7.11.0.tar.gz 912532 BLAKE2B 
44578931a8d933caacbd9845ffe217f1f70cb7c485c7f0caf4cb09b6780aeb18d8b7aac94d460d6736d9e308572c2e149532d494a4ae229edc1298878aec12cd
 SHA512 
4f45eea5aedd2c26827d8628db79230338c3d49f7efd53ec13ebb28d5090024529960d39bdc53126cdf2c8f17ab8a0ce07424908e3e2f7155f0ff6185dffc0d1

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-ClassHelperTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-ClassHelperTest.patch
new file mode 100644
index 000000000000..c4757224c437
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-ClassHelperTest.patch
@@ -0,0 +1,110 @@
+FAILED: 
org.testng.internal.ClassHelperTest.testWithDefaultMethodsBeingOverridden(class 
org.testng.internal.samples.classhelper.misamples.BatmanSample, 3, 
[org.testng.internal.samples.classhelper.misamples.BatmanSample.fly, 
org.testng.internal.samples.classhelper.misamples.BatmanSample.liftWeights, 
org.testng.internal.samples.classhelper.misamples.BatmanSample.yellSlogan])
+java.lang.AssertionError: 
+Expected size: 3 but was: 4 in:
+["org.testng.internal.samples.classhelper.misamples.BatmanSample.yellSlogan",
+    
"org.testng.internal.samples.classhelper.misamples.BatmanSample.liftWeights",
+    "org.testng.internal.samples.classhelper.misamples.BatmanSample.fly",
+    
"org.testng.internal.samples.classhelper.misamples.SuperHeroCapabilities.access$yellSlogan$jd"]
+       at 
org.testng.internal.ClassHelperTest.testWithDefaultMethodsBeingOverridden(ClassHelperTest.kt:109)
+       at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
+       at java.base/java.lang.reflect.Method.invoke(Method.java:565)
+       at 
org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:141)
+       at 
org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:687)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:230)
+       at 
org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:63)
+       at 
org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:995)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:203)
+       at 
org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:154)
+       at 
org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:134)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+       at org.testng.TestRunner.privateRun(TestRunner.java:741)
+       at org.testng.TestRunner.run(TestRunner.java:616)
+       at org.testng.SuiteRunner.runTest(SuiteRunner.java:421)
+       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:413)
+       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:373)
+       at org.testng.SuiteRunner.run(SuiteRunner.java:312)
+       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
+       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
+       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1274)
+       at org.testng.TestNG.runSuitesLocally(TestNG.java:1208)
+       at org.testng.TestNG.runSuites(TestNG.java:1112)
+       at org.testng.TestNG.run(TestNG.java:1079)
+       at org.testng.TestNG.privateMain(TestNG.java:1430)
+       at org.testng.TestNG.main(TestNG.java:1394)
+
+FAILED: 
org.testng.internal.ClassHelperTest.testWithDefaultMethodsBeingOverridden(class 
org.testng.internal.samples.classhelper.misamples.MickJaggerSample, 1, 
[org.testng.internal.samples.classhelper.misamples.MickJaggerSample.dance])
+java.lang.AssertionError: 
+Expected size: 1 but was: 2 in:
+["org.testng.internal.samples.classhelper.misamples.IDance.access$dance$jd",
+    "org.testng.internal.samples.classhelper.misamples.MickJaggerSample.dance"]
+       at 
org.testng.internal.ClassHelperTest.testWithDefaultMethodsBeingOverridden(ClassHelperTest.kt:109)
+       at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
+       at java.base/java.lang.reflect.Method.invoke(Method.java:565)
+       at 
org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:141)
+       at 
org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:687)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:230)
+       at 
org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:63)
+       at 
org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:995)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:203)
+       at 
org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:154)
+       at 
org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:134)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+       at org.testng.TestRunner.privateRun(TestRunner.java:741)
+       at org.testng.TestRunner.run(TestRunner.java:616)
+       at org.testng.SuiteRunner.runTest(SuiteRunner.java:421)
+       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:413)
+       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:373)
+       at org.testng.SuiteRunner.run(SuiteRunner.java:312)
+       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
+       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
+       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1274)
+       at org.testng.TestNG.runSuitesLocally(TestNG.java:1208)
+       at org.testng.TestNG.runSuites(TestNG.java:1112)
+       at org.testng.TestNG.run(TestNG.java:1079)
+       at org.testng.TestNG.privateMain(TestNG.java:1430)
+       at org.testng.TestNG.main(TestNG.java:1394)
+
+FAILED: 
org.testng.internal.ClassHelperTest.testWithDefaultMethodsBeingOverridden(class 
org.testng.internal.samples.classhelper.misamples.JohnTravoltaMovesSample, 2, 
[org.testng.internal.samples.classhelper.misamples.JohnTravoltaMovesSample.walk,
 org.testng.internal.samples.classhelper.misamples.AbstractMovesSample.dance])
+java.lang.AssertionError: 
+Expected size: 2 but was: 3 in:
+["org.testng.internal.samples.classhelper.misamples.IDance.access$dance$jd",
+    
"org.testng.internal.samples.classhelper.misamples.JohnTravoltaMovesSample.walk",
+    
"org.testng.internal.samples.classhelper.misamples.AbstractMovesSample.dance"]
+       at 
org.testng.internal.ClassHelperTest.testWithDefaultMethodsBeingOverridden(ClassHelperTest.kt:109)
+       at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
+       at java.base/java.lang.reflect.Method.invoke(Method.java:565)
+       at 
org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:141)
+       at 
org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:687)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:230)
+       at 
org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:63)
+       at 
org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:995)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:203)
+       at 
org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:154)
+       at 
org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:134)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+       at org.testng.TestRunner.privateRun(TestRunner.java:741)
+       at org.testng.TestRunner.run(TestRunner.java:616)
+       at org.testng.SuiteRunner.runTest(SuiteRunner.java:421)
+       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:413)
+       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:373)
+       at org.testng.SuiteRunner.run(SuiteRunner.java:312)
+       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
+       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
+       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1274)
+       at org.testng.TestNG.runSuitesLocally(TestNG.java:1208)
+       at org.testng.TestNG.runSuites(TestNG.java:1112)
+       at org.testng.TestNG.run(TestNG.java:1079)
+       at org.testng.TestNG.privateMain(TestNG.java:1430)
+       at org.testng.TestNG.main(TestNG.java:1394)
+
+--- a/testng-core/src/test/kotlin/org/testng/internal/ClassHelperTest.kt
++++ b/testng-core/src/test/kotlin/org/testng/internal/ClassHelperTest.kt
+@@ -98,7 +98,7 @@ class ClassHelperTest {
+             .isNull()
+     }
+ 
+-    @Test(dataProvider = "data")
++    @Test(enabled = false)
+     fun testWithDefaultMethodsBeingOverridden(
+         cls: KClass<*>, expectedCount: Int, vararg expected: String
+     ) {

diff --git 
a/dev-java/testng/files/testng-7.11.0-SkipFrom-FailedInvocationCountTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-FailedInvocationCountTest.patch
new file mode 100644
index 000000000000..5d023444c0b0
--- /dev/null
+++ 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-FailedInvocationCountTest.patch
@@ -0,0 +1,52 @@
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingMultipleTestTags(class
 test.invocationcount.issue3180.SampleTestContainer$TestWithNormalFailingTest, 
true, [, ])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+--
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingDataProviders(class
 
test.invocationcount.issue3180.SampleTestContainer$TestContainsAlwaysFailingDataDrivenTest,
 true, [0])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+--
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingDataProviders(class
 
test.invocationcount.issue3180.SampleTestContainer$TestContainsAllCombinations, 
true, [, 0 2, 0])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+--
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingMultipleTestTags(class
 
test.invocationcount.issue3180.SampleTestContainer$TestWithSomeFailingIterations,
 true, [0 2, 0 2])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+--
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingDataProviders(class
 
test.invocationcount.issue3180.SampleTestContainer$TestWithSomeFailingIterations,
 true, [0 2])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+--
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingMultipleTestTags(class
 
test.invocationcount.issue3180.SampleTestContainer$TestContainsAlwaysFailingDataDrivenTest,
 true, [0, 0])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+--
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingDataProviders(class
 test.invocationcount.issue3180.SampleTestContainer$TestWithNormalFailingTest, 
true, [])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+--
+FAILED: 
test.invocationcount.FailedInvocationCountTest.ensureInvocationCountHonoursRetriesWhenUsingMultipleTestTags(class
 
test.invocationcount.issue3180.SampleTestContainer$TestContainsAllCombinations, 
true, [, 0 2, 0, , 0 2, 0])
+        GITHUB-3180
+java.net.UnknownHostException: testng.org
+
+--- 
a/testng-core/src/test/java/test/invocationcount/FailedInvocationCountTest.java
++++ 
b/testng-core/src/test/java/test/invocationcount/FailedInvocationCountTest.java
+@@ -146,7 +146,7 @@ public class FailedInvocationCountTest extends 
SimpleBaseTest {
+     };
+   }
+ 
+-  @Test(description = "GITHUB-3180", dataProvider = "github-3180")
++  @Test(enabled = false)
+   public void ensureInvocationCountHonoursRetriesWhenUsingDataProviders(
+       Class<?> cls, boolean isXmlGenerated, String[] invocationCountValue) 
throws Exception {
+     String reportsDir = createDirInTempDir("3180").getAbsolutePath();
+@@ -214,7 +214,7 @@ public class FailedInvocationCountTest extends 
SimpleBaseTest {
+     };
+   }
+ 
+-  @Test(description = "GITHUB-3180", dataProvider = "github-3180-test-tags")
++  @Test(enabled = false)
+   public void ensureInvocationCountHonoursRetriesWhenUsingMultipleTestTags(
+       Class<?> cls, boolean isXmlGenerated, String[] invocationCountValue) 
throws Exception {
+     String reportsDir = createDirInTempDir("3180").getAbsolutePath();

diff --git 
a/dev-java/testng/files/testng-7.11.0-SkipFrom-FailedReporterTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-FailedReporterTest.patch
new file mode 100644
index 000000000000..05a685d31709
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-FailedReporterTest.patch
@@ -0,0 +1,20 @@
+FAILED: test.reports.FailedReporterTest.testParameterPreservationWithFactory
+        ISSUE-2445
+java.lang.AssertionError: 
+Expecting actual:
+  Expected number of attributes '6' but was '5' - comparing <suite...> at 
/suite[1] to <suite...> at /suite[1]
+to match '!it.hasDifferences()' predicate.
+       at 
test.reports.FailedReporterTest.testParameterPreservationWithFactory(FailedReporterTest.java:141)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+
+--- a/testng-core/src/test/java/test/reports/FailedReporterTest.java
++++ b/testng-core/src/test/java/test/reports/FailedReporterTest.java
+@@ -116,7 +116,7 @@ public class FailedReporterTest extends SimpleBaseTest {
+     Assert.assertEquals("44", failedClass.getAllParameters().get("p"));
+   }
+ 
+-  @Test(description = "ISSUE-2445")
++  @Test(enabled = false )
+   public void testParameterPreservationWithFactory() throws IOException {
+     final SuiteXmlParser parser = new SuiteXmlParser();
+     final String testSuite = 
"src/test/resources/xml/github2445/test-suite.xml";

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-GroovyTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-GroovyTest.patch
new file mode 100644
index 000000000000..f4417011d7cf
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-GroovyTest.patch
@@ -0,0 +1,21 @@
+FAILED: test.groovy.GroovyTest.groovyInternalMethodsAreSkipped
+        GITHUB-2360
+groovy.lang.MissingPropertyException: No such property: Issue2360Sample for 
class: test.groovy.GroovyTest
+       at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
+       at 
org.codehaus.groovy.vmplugin.v8.IndyGuardsFiltersAndSignatures.unwrap(IndyGuardsFiltersAndSignatures.java:160)
+       at 
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:318)
+       at 
test.groovy.GroovyTest.groovyInternalMethodsAreSkipped(GroovyTest.groovy:18)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+... Removed 24 stack frames
+
+--- a/testng-core/src/test/groovy/test/groovy/GroovyTest.groovy
++++ b/testng-core/src/test/groovy/test/groovy/GroovyTest.groovy
+@@ -13,7 +13,7 @@ import static org.assertj.core.api.Assertions.assertThat
+ 
+ class GroovyTest extends SimpleBaseTest {
+ 
+-    @Test(description = "GITHUB-2360")
++    @Test(enabled = false)
+     void groovyInternalMethodsAreSkipped() {
+         def tng = create Issue2360Sample
+         def testMethodNames = []

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-GuiceTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-GuiceTest.patch
new file mode 100644
index 000000000000..b34d20b49076
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-GuiceTest.patch
@@ -0,0 +1,99 @@
+FAILED: test.guice.GuiceTest.ensureInjectorsAreReUsed
+        GITHUB-2343
+com.google.inject.CreationException: Unable to create injector, see the 
following errors:
+
+1) [Guice/ScopeNotFound]: No scope is bound to Singleton.
+
+Used at:
+1  : ParentModule.configure(ParentModule.java:12)
+
+Learn more:
+  https://github.com/google/guice/wiki/SCOPE_NOT_FOUND
+
+1 error
+
+======================
+Full classname legend:
+======================
+ParentModule: "test.guice.issue2343.modules.ParentModule"
+Singleton:    "javax.inject.Singleton"
+========================
+End of classname legend:
+========================
+
+       at 
com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:589)
+       at 
com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:163)
+       at 
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
+       at com.google.inject.Guice.createInjector(Guice.java:87)
+       at com.google.inject.Guice.createInjector(Guice.java:78)
+       at java.base/java.util.Optional.map(Optional.java:260)
+       at test.guice.GuiceTest.ensureInjectorsAreReUsed(GuiceTest.java:73)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+... Removed 49 stack frames
+FAILED: test.guice.GuiceTest.ensureMultipleInjectorsAreNotCreated
+        GITHUB-2355
+com.google.inject.CreationException: Unable to create injector, see the 
following errors:
+
+1) [Guice/ScopeNotFound]: No scope is bound to Singleton.
+
+Used at:
+1  : AnotherParentModule.configure(AnotherParentModule.java:23)
+
+Learn more:
+  https://github.com/google/guice/wiki/SCOPE_NOT_FOUND
+
+1 error
+
+======================
+Full classname legend:
+======================
+AnotherParentModule: "test.guice.issue2355.AnotherParentModule"
+Singleton:           "javax.inject.Singleton"
+========================
+End of classname legend:
+========================
+
+       at 
com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:589)
+       at 
com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:163)
+       at 
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
+       at com.google.inject.Guice.createInjector(Guice.java:87)
+       at com.google.inject.Guice.createInjector(Guice.java:78)
+       at java.base/java.util.Optional.map(Optional.java:260)
+       at 
test.guice.GuiceTest.ensureMultipleInjectorsAreNotCreated(GuiceTest.java:83)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+... Removed 49 stack frames
+FAILED: test.guice.GuiceTest.ensureRetryAnalyzersAreGuiceAware
+        GITHUB-2570
+java.lang.AssertionError: The Retry Analyzer should have been created via 
Guice constructor injection.
+       at 
test.guice.GuiceTest.ensureRetryAnalyzersAreGuiceAware(GuiceTest.java:107)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+
+--- a/testng-core/src/test/java/test/guice/GuiceTest.java
++++ b/testng-core/src/test/java/test/guice/GuiceTest.java
+@@ -65,7 +65,7 @@ public class GuiceTest extends SimpleBaseTest {
+     assertThat(FakeInjector.getInstance()).isNotNull();
+   }
+ 
+-  @Test(description = "GITHUB-2343")
++  @Test(enabled = false)
+   public void ensureInjectorsAreReUsed() {
+     XmlSuite suite = createXmlSuite("sample_suite", "sample_test", 
SampleA.class, SampleB.class);
+     suite.setParentModule(ParentModule.class.getCanonicalName());
+@@ -74,7 +74,7 @@ public class GuiceTest extends SimpleBaseTest {
+     assertThat(Person.counter).isEqualTo(1);
+   }
+ 
+-  @Test(description = "GITHUB-2355")
++  @Test(enabled = false)
+   public void ensureMultipleInjectorsAreNotCreated() {
+     Person.counter = 0;
+     XmlSuite suite = createXmlSuite("sample_suite", "sample_test", 
SampleA.class, SampleB.class);
+@@ -97,7 +97,7 @@ public class GuiceTest extends SimpleBaseTest {
+     assertEquals(TestModuleTwo.counter.get(), 1, "TestModuleTwo configuration 
called times");
+   }
+ 
+-  @Test(description = "GITHUB-2570")
++  @Test(enabled = false)
+   public void ensureRetryAnalyzersAreGuiceAware() {
+     TestNG testng = create(SampleTestClass.class);
+     testng.run();

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-HookableTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-HookableTest.patch
new file mode 100644
index 000000000000..0fe599d423d3
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-HookableTest.patch
@@ -0,0 +1,19 @@
+FAILED: 
test.hook.HookableTest.tesFailuresFromCallbackInvocationSkipsCanBeDisabledViaJVMArgs(class
 test.hook.samples.CallBackSample$TestCallBackSkipTestCase, 1)
+        GITHUB-2818
+org.opentest4j.AssertionFailedError: 
+expected: 1
+ but was: 0
+       at 
test.hook.HookableTest.tesFailuresFromCallbackInvocationSkipsCanBeDisabledViaJVMArgs(HookableTest.java:209)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+
+--- a/testng-core/src/test/java/test/hook/HookableTest.java
++++ b/testng-core/src/test/java/test/hook/HookableTest.java
+@@ -198,7 +198,7 @@ public class HookableTest extends SimpleBaseTest {
+     assertions.assertAll();
+   }
+ 
+-  @Test(description = "GITHUB-2818", dataProvider = "callback")
++  @Test(enabled = false)
+   public void tesFailuresFromCallbackInvocationSkipsCanBeDisabledViaJVMArgs(
+       Class<?> cls, int expected) {
+     try {

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-JitBindingTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-JitBindingTest.patch
new file mode 100644
index 000000000000..78ec75ebe51e
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-JitBindingTest.patch
@@ -0,0 +1,16 @@
+FAILED: test.guice.jitbinding.JitBindingTest.testConflictingJitBinding
+java.lang.AssertionError: expected [true] but found [false]
+       at 
test.guice.jitbinding.JitBindingTest.testConflictingJitBinding(JitBindingTest.java:17)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+
+--- a/testng-core/src/test/java/test/guice/jitbinding/JitBindingTest.java
++++ b/testng-core/src/test/java/test/guice/jitbinding/JitBindingTest.java
+@@ -8,7 +8,7 @@ import test.SimpleBaseTest;
+ 
+ public class JitBindingTest extends SimpleBaseTest {
+ 
+-  @Test
++  @Test(enabled = false)
+   public void testConflictingJitBinding() {
+     TestNG tng = create(FirstModuleSample.class, SecondModuleSample.class);
+     TestListenerAdapter adapter = new TestListenerAdapter();

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-ScriptTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-ScriptTest.patch
new file mode 100644
index 000000000000..93278a3bc84b
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-ScriptTest.patch
@@ -0,0 +1,29 @@
+FAILED: test.methodselectors.ScriptTest.onlyGroup1("beanshell", "groups.
+     containsKey           ("test1")", [test1])
+org.testng.TestNGException: 
+No engine found for language: beanshell. Please check your dependencies and 
have a look at https://github.com/cbeust/testng/wiki/Supported-script-engines
+       at 
test.BaseTest$InternalTestRunnerFactory.newTestRunner(BaseTest.java:349)
+       at test.BaseTest.run(BaseTest.java:171)
+       at test.methodselectors.ScriptTest.onlyGroup1(ScriptTest.java:25)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+... Removed 35 stack frames
+FAILED: test.methodselectors.ScriptTest.onlyGroup1("groovy", "groups.
+     containsKey           ("test2")", [test2])
+org.testng.TestNGException: 
+No engine found for language: groovy. Please check your dependencies and have 
a look at https://github.com/cbeust/testng/wiki/Supported-script-engines
+       at 
test.BaseTest$InternalTestRunnerFactory.newTestRunner(BaseTest.java:349)
+       at test.BaseTest.run(BaseTest.java:171)
+       at test.methodselectors.ScriptTest.onlyGroup1(ScriptTest.java:25)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+
+--- a/testng-core/src/test/java/test/methodselectors/ScriptTest.java
++++ b/testng-core/src/test/java/test/methodselectors/ScriptTest.java
+@@ -18,7 +18,7 @@ public class ScriptTest extends BaseTest {
+     };
+   }
+ 
+-  @Test(dataProvider = "dataProvider")
++  @Test(enabled = false)
+   public void onlyGroup1(String language, String expression, String[] passed) 
{
+     addClass(test.methodselectors.SampleTest.class);
+     setScript(language, expression);

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-XmlSuiteTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-XmlSuiteTest.patch
new file mode 100644
index 000000000000..2d0ad765d3ac
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-XmlSuiteTest.patch
@@ -0,0 +1,32 @@
+FAILED: 
org.testng.xml.XmlSuiteTest.ensureNoExceptionsAreRaisedWhenMethodSelectorsDefinedAtSuiteLevel
+        GITHUB-1668
+org.testng.TestNGException: 
+No engine found for language: beanshell. Please check your dependencies and 
have a look at https://github.com/cbeust/testng/wiki/Supported-script-engines
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+... Removed 38 stack frames
+FAILED: 
org.testng.xml.XmlSuiteTest.ensureSuiteLevelBeanshellIsAppliedToAllTests
+        GITHUB-1674
+org.testng.TestNGException: 
+No engine found for language: beanshell. Please check your dependencies and 
have a look at https://github.com/cbeust/testng/wiki/Supported-script-engines
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+
+--- a/testng-core/src/test/java/org/testng/xml/XmlSuiteTest.java
++++ b/testng-core/src/test/java/org/testng/xml/XmlSuiteTest.java
+@@ -70,7 +70,7 @@ public class XmlSuiteTest extends SimpleBaseTest {
+     };
+   }
+ 
+-  @Test(description = "GITHUB-1668")
++  @Test(enabled = false)
+   public void 
ensureNoExceptionsAreRaisedWhenMethodSelectorsDefinedAtSuiteLevel()
+       throws IOException {
+     Parser parser = new Parser("src/test/resources/xml/issue1668.xml");
+@@ -97,7 +97,7 @@ public class XmlSuiteTest extends SimpleBaseTest {
+     assertThat(xmlsuite.getTests().get(0).getClasses().size()).isEqualTo(1);
+   }
+ 
+-  @Test(description = "GITHUB-1674")
++  @Test(enabled = false)
+   public void ensureSuiteLevelBeanshellIsAppliedToAllTests() throws 
IOException {
+     PrintStream current = System.out;
+     StringOutputStream stream = new StringOutputStream();

diff --git a/dev-java/testng/files/testng-7.11.0-SkipFrom-YamlTest.patch 
b/dev-java/testng/files/testng-7.11.0-SkipFrom-YamlTest.patch
new file mode 100644
index 000000000000..bded35fe99e6
--- /dev/null
+++ b/dev-java/testng/files/testng-7.11.0-SkipFrom-YamlTest.patch
@@ -0,0 +1,69 @@
+FAILED: test.yaml.YamlTest.testXmlDependencyGroups
+        GITHUB-2078
+org.opentest4j.AssertionFailedError: 
+Expecting actual:
+  "name: My_Suite
+configFailurePolicy: skip
+tests:
+  - name: My_test
+    xmlDependencyGroups:
+      c: a  b
+      z: c
+    xmlPackages:
+    - name: test.yaml
+
+"
+to be equal to:
+  "name: My_Suite
+verbose: 0
+configFailurePolicy: skip
+tests:
+  - name: My_test
+  verbose: 0
+    xmlDependencyGroups:
+      c: a  b
+      z: c
+    xmlPackages:
+    - name: test.yaml
+
+"
+when ignoring newline differences ('\r\n' == '\n')
+       at test.yaml.YamlTest.testXmlDependencyGroups(YamlTest.java:84)
+       at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
+       at java.base/java.lang.reflect.Method.invoke(Method.java:565)
+       at 
org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:141)
+       at 
org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:687)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:230)
+       at 
org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:63)
+       at 
org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:995)
+       at 
org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:203)
+       at 
org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:154)
+       at 
org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:134)
+       at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
+       at org.testng.TestRunner.privateRun(TestRunner.java:741)
+       at org.testng.TestRunner.run(TestRunner.java:616)
+       at org.testng.SuiteRunner.runTest(SuiteRunner.java:421)
+       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:413)
+       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:373)
+       at org.testng.SuiteRunner.run(SuiteRunner.java:312)
+       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
+       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
+       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1274)
+       at org.testng.TestNG.runSuitesLocally(TestNG.java:1208)
+       at org.testng.TestNG.runSuites(TestNG.java:1112)
+       at org.testng.TestNG.run(TestNG.java:1079)
+       at org.testng.TestNG.privateMain(TestNG.java:1430)
+       at org.testng.TestNG.main(TestNG.java:1394)
+
+
+--- a/testng-core/src/test/java/test/yaml/YamlTest.java
++++ b/testng-core/src/test/java/test/yaml/YamlTest.java
+@@ -72,7 +72,7 @@ public class YamlTest extends SimpleBaseTest {
+         .isEqualTo(xmlSuite);
+   }
+ 
+-  @Test(description = "GITHUB-2078")
++  @Test(enabled = false)
+   public void testXmlDependencyGroups() throws IOException {
+     String actualXmlFile = "src/test/resources/yaml/2078.xml";
+     XmlSuite actualXmlSuite =

diff --git 
a/dev-java/testng/files/testng-7.11.0-skipDynamicDataProviderLoadingTest.patch 
b/dev-java/testng/files/testng-7.11.0-skipDynamicDataProviderLoadingTest.patch
new file mode 100644
index 000000000000..6905fc063d53
--- /dev/null
+++ 
b/dev-java/testng/files/testng-7.11.0-skipDynamicDataProviderLoadingTest.patch
@@ -0,0 +1,25 @@
+197 [main] ERROR org.testng.TestNG -
+Cannot find class in classpath: 
org.testng.dataprovider.DynamicDataProviderLoadingTest
+
+The error occurs because we had to delete that class as is also described in 
the src_test() phase.
+
+# 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
+
+--- a/testng-core/src/test/resources/testng.xml
++++ b/testng-core/src/test/resources/testng.xml
+@@ -971,7 +971,6 @@
+   <test name="Kotlin">
+     <classes>
+       <class name="org.testng.BasicTest"/>
+-      <class name="org.testng.dataprovider.DynamicDataProviderLoadingTest" />
+     </classes>
+   </test>
+ </suite>

diff --git a/dev-java/testng/testng-7.11.0.ebuild 
b/dev-java/testng/testng-7.11.0.ebuild
new file mode 100644
index 000000000000..a723848d283c
--- /dev/null
+++ b/dev-java/testng/testng-7.11.0.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+
+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.20.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.20.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"    
# needs network
+       "${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"
+)
+
+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() {
+       default # bug #780585
+       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
+}


Reply via email to