summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/mockito/Manifest1
-rw-r--r--dev-java/mockito/files/mockito-5.24.0-skipFailingTests.patch120
-rw-r--r--dev-java/mockito/mockito-5.24.0.ebuild107
-rw-r--r--dev-java/rhino/rhino-1.9.1.ebuild9
4 files changed, 230 insertions, 7 deletions
diff --git a/dev-java/mockito/Manifest b/dev-java/mockito/Manifest
index 8d4d3bbc1587..b3bad72c8376 100644
--- a/dev-java/mockito/Manifest
+++ b/dev-java/mockito/Manifest
@@ -1,4 +1,5 @@
DIST mockito-2.28.2.tar.gz 875085 BLAKE2B d0aab378c028530724156f999700506fe64f5bf19371dc9b957e34924d3d17b8191f093054c6dde4f5879d61ddf9614a60b1fd597aae09b92abf559c08fbcdf7 SHA512 9921fe9ffbdff4d7a9a8de56aa5078e68eb6bee38f379f58059dcc42da07a59b7e5953309d646e1fb760f7135f5076e201529370cc5df56d685f7acb08311ea5
DIST mockito-4.11.0.tar.gz 1050218 BLAKE2B 7f7298e233c9cdb0b475aa201300a1063fd8efc587f3a4de0cb1caedd6f6506a32f8e9b0548fa5898892515ec96625153a1a2ad65fc8070b7dc6c254206fbbfd SHA512 b1de01c8e9b2fc4eef0013af562efeac7e22babdebbd8c7842ecd55071627e11c5e6ab575436990ea70d4ceefb56fc260333278c8d4b833e454956bf89841fc5
DIST mockito-5.21.0.tar.gz 899886 BLAKE2B 22c21bc89d1d52227cd818bdea082bffa136bb295c63b6fa5ef4dc4a551274456da68931c3143a664d6f7b93d5ef96fd8735b86ef4e0a2db4bebe08dc75b2061 SHA512 e3798d78609351d69fbe460816b570f891bd425c5b2d0677018279637de522f3e3ad8d5ec6dbefb94e20e3ff6082af6a4edc3c13122784503c170bafacbcf54d
+DIST mockito-5.24.0.tar.gz 915490 BLAKE2B 567c6cf83e051a497aaac741ddf5890338b20a542678184205da86fbb6d576c611b7b725f0e3a866c9f91fcca9405f204a11d2c424c767ddda605bfe13618efb SHA512 1aa6fbe6ed5202b041b9487e2b3caf8d7353430560a7a17e307b8cda210f533004d5ed2dcf5880fcb61fe117371cc8dd5f406eb88e0a26b4e5164be6ad0953ed
DIST mockito-core-1.9.5-sources.jar 723074 BLAKE2B e553a923542a1a2574ee0cda5979d168cc3e9644dbbc9fceed2301ae1bac150c4e35dbc4432d50e2479efea2a6cd35ec19c62c3598f61709f1f5dc8959cc0155 SHA512 271e626c3b5be9a7d7c82a2f0bf44077aabd51924b0956a88633ace7fe8c134d8cd1f89ce348ce0d15ccce55a50027e303836d2d2f430500317b6136d308d3d4
diff --git a/dev-java/mockito/files/mockito-5.24.0-skipFailingTests.patch b/dev-java/mockito/files/mockito-5.24.0-skipFailingTests.patch
new file mode 100644
index 000000000000..e8e217131911
--- /dev/null
+++ b/dev-java/mockito/files/mockito-5.24.0-skipFailingTests.patch
@@ -0,0 +1,120 @@
+
+Failures (5):
+ JUnit Vintage:StubbingWithBadThrowablesTest:handles_bad_exception
+ MethodSource [className = 'org.mockitousage.stubbing.StubbingWithBadThrowablesTest', methodName = 'handles_bad_exception', methodParameterTypes = '']
+ => java.lang.AssertionError:
+Expecting actual throwable to be an instance of:
+ java.lang.InstantiationError
+but was:
+ org.objenesis.ObjenesisException: java.lang.reflect.InvocationTargetException
+ at org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator.java:51)
+ at org.objenesis.ObjenesisBase.newInstance(ObjenesisBase.java:75)
+ at org.mockito.internal.creation.instance.ObjenesisInstantiator.newInstance(ObjenesisInstantiator.java:22)
+ ...(73 remaining lines not displayed - this can be changed with Assertions.setMaxStackTraceElementsDisplayed)
+ org.mockitousage.stubbing.StubbingWithBadThrowablesTest.handles_bad_exception(StubbingWithBadThrowablesTest.java:32)
+ java.base/java.lang.reflect.Method.invoke(Method.java:583)
+ JUnit Vintage:InlineDelegateByteBuddyMockMakerTest:testMockDispatcherIsRelocated
+ MethodSource [className = 'org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMakerTest', methodName = 'testMockDispatcherIsRelocated', methodParameterTypes = '']
+ => org.opentest4j.AssertionFailedError:
+expected: null
+ but was: file:/var/tmp/portage/dev-java/mockito-5.24.0/work/mockito-5.24.0/dispatcher/org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.class
+ org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMakerTest.testMockDispatcherIsRelocated(InlineDelegateByteBuddyMockMakerTest.java:553)
+ java.base/java.lang.reflect.Method.invoke(Method.java:583)
+ JUnit Vintage:InlineDelegateByteBuddyMockMakerTest:instantiate_fine_when_objenesis_on_the_classpath
+ MethodSource [className = 'org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMakerTest', methodName = 'instantiate_fine_when_objenesis_on_the_classpath', methodParameterTypes = '']
+ => java.lang.reflect.InvocationTargetException
+ java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
+ java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
+ org.mockito.internal.creation.bytebuddy.AbstractByteBuddyMockMakerTest.instantiate_fine_when_objenesis_on_the_classpath(AbstractByteBuddyMockMakerTest.java:140)
+ java.base/java.lang.reflect.Method.invoke(Method.java:583)
+ Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassWriter
+ net.bytebuddy.utility.dispatcher.JavaDispatcher$DynamicClassLoader.invoker(JavaDispatcher.java:1330)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher$InvokerCreationAction.run(JavaDispatcher.java:476)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher$InvokerCreationAction.run(JavaDispatcher.java:469)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher.doPrivileged(JavaDispatcher.java:140)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher.<clinit>(JavaDispatcher.java:99)
+ [...]
+ Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassWriter
+ java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:377)
+ org.mockitoutil.ClassLoaders$LocalExcludingURLClassLoader.findClass(ClassLoaders.java:331)
+ java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:569)
+ java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:502)
+ [...]
+ JUnit Vintage:SubclassByteBuddyMockMakerTest:instantiate_fine_when_objenesis_on_the_classpath
+ MethodSource [className = 'org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMakerTest', methodName = 'instantiate_fine_when_objenesis_on_the_classpath', methodParameterTypes = '']
+ => java.lang.reflect.InvocationTargetException
+ java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
+ java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
+ org.mockito.internal.creation.bytebuddy.AbstractByteBuddyMockMakerTest.instantiate_fine_when_objenesis_on_the_classpath(AbstractByteBuddyMockMakerTest.java:140)
+ java.base/java.lang.reflect.Method.invoke(Method.java:583)
+ Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassWriter
+ net.bytebuddy.utility.dispatcher.JavaDispatcher$DynamicClassLoader.invoker(JavaDispatcher.java:1330)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher$InvokerCreationAction.run(JavaDispatcher.java:476)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher$InvokerCreationAction.run(JavaDispatcher.java:469)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher.doPrivileged(JavaDispatcher.java:140)
+ net.bytebuddy.utility.dispatcher.JavaDispatcher.<clinit>(JavaDispatcher.java:99)
+ [...]
+ Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassWriter
+ java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:377)
+ org.mockitoutil.ClassLoaders$LocalExcludingURLClassLoader.findClass(ClassLoaders.java:331)
+ java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:569)
+ java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:502)
+ [...]
+
+--- a/mockito-core/src/test/java/org/mockitousage/stubbing/StubbingWithBadThrowablesTest.java
++++ b/mockito-core/src/test/java/org/mockitousage/stubbing/StubbingWithBadThrowablesTest.java
+@@ -11,6 +11,7 @@ import java.util.List;
+ import org.assertj.core.api.Assertions;
+ import org.assertj.core.api.ThrowableAssert;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.mockito.Mock;
+ import org.mockito.Mockito;
+ import org.mockitoutil.TestBase;
+@@ -21,7 +22,7 @@ public class StubbingWithBadThrowablesTest extends TestBase {
+
+ @Mock List mock;
+
+- @Test
++ @Test @Ignore
+ public void handles_bad_exception() {
+ Assertions.assertThatThrownBy(
+ new ThrowableAssert.ThrowingCallable() {
+--- a/mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/InlineDelegateByteBuddyMockMakerTest.java
++++ b/mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/InlineDelegateByteBuddyMockMakerTest.java
+@@ -23,6 +23,7 @@ import net.bytebuddy.implementation.FixedValue;
+ import net.bytebuddy.implementation.StubMethod;
+ import net.bytebuddy.utility.JavaConstant;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.mockito.Answers;
+ import org.mockito.exceptions.base.MockitoException;
+ import org.mockito.internal.creation.MockSettingsImpl;
+@@ -536,7 +537,7 @@ public class InlineDelegateByteBuddyMockMakerTest
+ return mockSettings;
+ }
+
+- @Test
++ @Test @Ignore
+ public void testMockDispatcherIsRelocated() {
+ assertThat(
+ InlineByteBuddyMockMaker.class
+--- a/mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
++++ b/mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
+@@ -12,6 +12,7 @@ import java.io.Serializable;
+
+ import net.bytebuddy.ByteBuddy;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.mockito.Mockito;
+ import org.mockito.internal.creation.AbstractMockMakerTest;
+ import org.mockito.internal.handler.MockHandlerImpl;
+@@ -121,7 +122,7 @@ public abstract class AbstractByteBuddyMockMakerTest<MM extends MockMaker>
+ }
+ }
+
+- @Test
++ @Test @Ignore
+ public void instantiate_fine_when_objenesis_on_the_classpath() throws Exception {
+ // given
+ ClassLoader classpath_with_objenesis =
diff --git a/dev-java/mockito/mockito-5.24.0.ebuild b/dev-java/mockito/mockito-5.24.0.ebuild
new file mode 100644
index 000000000000..88a1cf5d991c
--- /dev/null
+++ b/dev-java/mockito/mockito-5.24.0.ebuild
@@ -0,0 +1,107 @@
+# 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="junit-vintage"
+
+inherit java-pkg-2 java-pkg-simple junit5
+
+DESCRIPTION="Mockito mock objects library core API and implementation"
+HOMEPAGE="https://github.com/mockito/mockito"
+SRC_URI="https://github.com/mockito/mockito/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+ >=dev-java/apiguardian-api-1.1.2-r1:0
+ >=dev-java/asm-9.10.1:0
+ >=dev-java/byte-buddy-1.18.10:0
+ >=dev-java/hamcrest-3.0:0
+ >=dev-java/jna-5.18.1:0
+ >=dev-java/jspecify-1.0.0:0
+ >=dev-java/jsr305-3.0.2-r1:0
+ dev-java/junit:4
+ >=dev-java/objenesis-3.4:0
+ >=dev-java/opentest4j-1.3.0-r1:0
+ >=virtual/jdk-11:*
+ >=dev-java/assertj-core-3.27.7:0
+"
+
+# virtual/jre lower than 11 would cause a compilation error:
+# src/main/java/org/mockito/internal/stubbing/defaultanswers/ReturnsDeepStubs.java:57:
+# error: cannot find symbol
+# final var emptyValue = ReturnsEmptyValues.returnCommonEmptyValueFor(rawType);
+# ^
+# symbol: class var
+RDEPEND=">=virtual/jre-11:*"
+
+PATCHES=( "${FILESDIR}"/mockito-5.24.0-skipFailingTests.patch )
+
+JAVA_CLASSPATH_EXTRA="apiguardian-api asm byte-buddy hamcrest jna jspecify jsr305 objenesis opentest4j"
+JAVA_TEST_SRC_DIR="mockito-core/src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # prevent assertj-core and junit:{4,5} to pull hamcrest-core on classpath
+ JAVA_GENTOO_CLASSPATH_EXTRA=":$(java-pkg_getjars --build-only \
+ assertj-core,junit-4,junit-5)"
+
+ # dev-java/byte-buddy is built from byte-buddy-dep without shaded stuff.
+ sed \
+ -i -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
+ mockito-core/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java \
+ mockito-core/src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java \
+ mockito-core/src/main/java/org/mockito/internal/creation/bytebuddy/ClinitSuppressionTransformer.java \
+ mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/ClinitSuppressionTransformerTest.java
+}
+
+src_compile() {
+ JAVA_JAR_FILENAME="mockito-core.jar"
+ JAVA_SRC_DIR="mockito-core/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":mockito-core.jar"
+ # save MockMethodDispatcher.class for compiling test-classes
+ mkdir -p dispatcher/org/mockito/internal/creation/bytebuddy/inject || die
+ cp target/classes/org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.class \
+ dispatcher/org/mockito/internal/creation/bytebuddy/inject || die
+ # rename according to mockito-core/build.gradle.kts
+ mv target/classes/org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.class \
+ target/classes/org/mockito/internal/creation/bytebuddy/inject-MockMethodDispatcher.raw || die
+# rm mockito-core.jar || die
+ jar cf mockito-core.jar -C target/classes . || die "refresh core.jar"
+
+ rm -r target/classes || die "clean classes"
+ JAVA_JAR_FILENAME="mockito-junit-jupiter.jar"
+ JAVA_SRC_DIR="mockito-extensions/mockito-junit-jupiter/src/main/java"
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ find mockito-core/src/testFixtures/java -type f -name '*.java' > testFixtures.lst || die
+ ejavac -d testFixtures @testFixtures.lst \
+ -cp mockito-core.jar:"$(java-pkg_getjars --with-dependencies \
+ --build-only assertj-core,junit-4,objenesis)"
+
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":testFixtures:dispatcher"
+
+ # TODO: MockMethodDispatcher.class is needed on classpath
+ # for compiling InlineDelegateByteBuddyMockMakerTest.java
+ # but must not be there when running the tests.
+
+ JAVA_TEST_RUN_ONLY=( org.mockito.MockitoClearTest ) # fails if not run separately
+ junit5_src_test
+ JAVA_TEST_RUN_ONLY=()
+ JAVA_TEST_EXCLUDES=( org.mockito.MockitoClearTest )
+ junit5_src_test
+}
+
+src_install() {
+ JAVA_JAR_FILENAME="mockito-core.jar"
+ java-pkg-simple_src_install
+ java-pkg_dojar mockito-junit-jupiter.jar
+}
diff --git a/dev-java/rhino/rhino-1.9.1.ebuild b/dev-java/rhino/rhino-1.9.1.ebuild
index 08ac733b85ad..304e0a91a496 100644
--- a/dev-java/rhino/rhino-1.9.1.ebuild
+++ b/dev-java/rhino/rhino-1.9.1.ebuild
@@ -19,10 +19,6 @@ KEYWORDS="amd64 arm64 ppc64"
DEPEND="
>=virtual/jdk-17
- test? (
- dev-java/junit:4
- dev-java/junit:5[vintage]
- )
"
# rhino/src/main/java/org/mozilla/javascript/Slot.java:29: error: cannot find symbol
@@ -37,16 +33,15 @@ PATCHES=( "${FILESDIR}/rhino-1.9.0-ClassCompilerTest.patch" )
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_SRC_DIR="src/main/java"
JAVA_TEST_EXTRA_ARGS=( -Dtest.file.rhino-test-config.loaded=true -Dtest.config.bar=value4-mod )
-JAVA_TEST_GENTOO_CLASSPATH="junit-4 junit-5"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
JAVA_TEST_SRC_DIR="src/test/java"
src_test() {
- JAVA_GENTOO_CLASSPATH_EXTRA="rhino.jar"
+ JAVA_CLASSPATH_EXTRA="junit-5"
+ JAVA_GENTOO_CLASSPATH_EXTRA="rhino.jar:testutils.jar"
JAVA_JAR_FILENAME="testutils.jar"
JAVA_SRC_DIR="../testutils/src/main/java"
java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":testutils.jar"
# One test needs to run first, otherwise it would fail.
JAVA_TEST_RUN_ONLY=( org.mozilla.javascript.tests.ErrorHandlingTest )