commit:     3f9a51795be6acc03409650fbee830d074ff6d23
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Apr  4 08:56:55 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Apr  7 08:08:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f9a5179

dev-java/mockito: add 2.28.2

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/mockito/Manifest                          |   1 +
 .../files/mockito-2.28.2-skip-failing-tests.patch  |  82 +++++++++++++++++
 dev-java/mockito/mockito-2.28.2.ebuild             | 102 +++++++++++++++++++++
 3 files changed, 185 insertions(+)

diff --git a/dev-java/mockito/Manifest b/dev-java/mockito/Manifest
index acab952bac89..9d9fe63d1383 100644
--- a/dev-java/mockito/Manifest
+++ b/dev-java/mockito/Manifest
@@ -1,2 +1,3 @@
+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-core-1.9.5-sources.jar 723074 BLAKE2B 
e553a923542a1a2574ee0cda5979d168cc3e9644dbbc9fceed2301ae1bac150c4e35dbc4432d50e2479efea2a6cd35ec19c62c3598f61709f1f5dc8959cc0155
 SHA512 
271e626c3b5be9a7d7c82a2f0bf44077aabd51924b0956a88633ace7fe8c134d8cd1f89ce348ce0d15ccce55a50027e303836d2d2f430500317b6136d308d3d4

diff --git a/dev-java/mockito/files/mockito-2.28.2-skip-failing-tests.patch 
b/dev-java/mockito/files/mockito-2.28.2-skip-failing-tests.patch
new file mode 100644
index 000000000000..06bf5bcd6346
--- /dev/null
+++ b/dev-java/mockito/files/mockito-2.28.2-skip-failing-tests.patch
@@ -0,0 +1,82 @@
+# https://bugs.gentoo.org/903897
+--- 
a/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
++++ 
b/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
+@@ -6,6 +6,7 @@ package org.mockito.internal.creation.bytebuddy;
+ 
+ import net.bytebuddy.ByteBuddy;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.mockito.Mockito;
+ import org.mockito.internal.creation.MockSettingsImpl;
+ import org.mockito.internal.handler.MockHandlerImpl;
+@@ -134,7 +135,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 = 
ClassLoaders.excludingClassLoader()
+--- a/src/test/java/org/mockitousage/matchers/VarargsTest.java
++++ b/src/test/java/org/mockitousage/matchers/VarargsTest.java
+@@ -19,6 +19,7 @@ import org.assertj.core.api.ObjectAssert;
+ import org.junit.Ignore;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+ import org.mockito.ArgumentCaptor;
+ import org.mockito.Captor;
+@@ -78,7 +79,7 @@ public class VarargsTest {
+         verify(mock).varargs((String[]) isNotNull());
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void shouldMatchVarArgs_oneNullArg_eqNull() {
+         Object arg = null;
+         mock.varargs(arg);
+@@ -86,7 +87,7 @@ public class VarargsTest {
+         verify(mock).varargs(eq(null));
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void shouldMatchVarArgs_oneNullArg_isNull() {
+         Object arg = null;
+         mock.varargs(arg);
+@@ -94,7 +95,7 @@ public class VarargsTest {
+         verify(mock).varargs(isNull());
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void shouldMatchVarArgs_nullArrayArg() {
+         Object[] argArray = null;
+         mock.varargs(argArray);
+@@ -118,21 +119,21 @@ public class VarargsTest {
+         verify(mock).varargs((String[])any()); // any() -> VarargMatcher
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void shouldMatchVarArgs_oneArgsOneAnyMatcher() {
+         mock.varargs(1);
+ 
+         verify(mock).varargs(any()); // any() -> VarargMatcher
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void shouldMatchVarArgs_twoArgsOneAnyMatcher() {
+         mock.varargs(1, 2);
+ 
+         verify(mock).varargs(any()); // any() -> VarargMatcher
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void shouldMatchVarArgs_twoArgsTwoAnyMatcher() {
+         mock.varargs(1, 2);
+ 

diff --git a/dev-java/mockito/mockito-2.28.2.ebuild 
b/dev-java/mockito/mockito-2.28.2.ebuild
new file mode 100644
index 000000000000..178a7c0ff159
--- /dev/null
+++ b/dev-java/mockito/mockito-2.28.2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.mockito:mockito-core:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+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="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+CP_DEPEND="
+       dev-java/asm:9
+       dev-java/byte-buddy:0
+       dev-java/objenesis:0
+"
+
+DEPEND="
+       dev-java/junit:4
+       dev-java/opentest4j:0
+       >=virtual/jdk-1.8:*
+       ${CP_DEPEND}
+       test? ( dev-java/assertj-core:3 )
+"
+
+RDEPEND="
+       >=virtual/jre-1.8:*
+       ${CP_DEPEND}
+"
+
+PATCHES=( "${FILESDIR}/mockito-2.28.2-skip-failing-tests.patch" )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.mockito"
+JAVA_CLASSPATH_EXTRA="junit-4 opentest4j"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXCLUDES=(
+       org.mockito.internal.junit.JUnitRuleTest # We run it in 
JAVA_TEST_RUN_ONLY
+       org.mockito.internal.util.reflection.DummyClassForTests # No runnable 
methods
+       org.mockito.internal.util.reflection.DummyParentClassForTests # No 
runnable methods
+       org.mockito.junit.TestableJUnitRunner # No runnable methods
+       org.mockitoutil.TestBase #  No runnable methods
+)
+JAVA_TEST_GENTOO_CLASSPATH="assertj-core-3,junit-4"
+JAVA_TEST_RUN_ONLY=(
+       # This needs to run separately, otherwise one of its 4 tests would fail.
+       org.mockito.internal.junit.JUnitRuleTest
+)
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+       java-pkg-2_src_prepare
+       default
+       # dev-java/byte-buddy is built from byte-buddy-dep without shaded stuff.
+       sed \
+               -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
+               -i 
src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java \
+               -i 
src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java
 || die
+}
+
+src_compile() {
+       java-pkg-simple_src_compile
+       mv 
target/classes/org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.{class,raw}
 || die
+       jar ufv mockito.jar -C target/classes 
org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.raw || die
+}
+
+src_test() {
+       # Increasing number of test failures with higher Java versions
+       # Test failures are documented in https://bugs.gentoo.org/903897
+       local vm_version="$(java-config -g PROVIDES_VERSION)"
+       if ver_test "${vm_version}" -ge 11; then
+               JAVA_TEST_EXCLUDES+=(
+                       
org.mockito.internal.stubbing.defaultanswers.ReturnsMocksTest
+                       org.mockitousage.bugs.GenericsMockitoAnnotationsTest
+               )
+       fi
+       if ver_test "${vm_version}" -ge 17; then
+               JAVA_TEST_EXCLUDES+=(
+                       org.concurrentmockito.ThreadsRunAllTestsHalfManualTest
+                       org.mockitousage.matchers.InvalidUseOfMatchersTest
+                       org.mockitousage.serialization.DeepStubsSerializableTest
+                       org.mockitousage.stubbing.StubbingWithDelegateTest
+               )
+               JAVA_TEST_EXTRA_ARGS+=( 
--add-opens=java.base/java.io=ALL-UNNAMED )
+               JAVA_TEST_EXTRA_ARGS+=( 
--add-opens=java.base/java.lang=ALL-UNNAMED )
+               JAVA_TEST_EXTRA_ARGS+=( 
--add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED )
+       fi
+       # First run what needs to run separately
+       java-pkg-simple_src_test
+       # And then the other tests
+       JAVA_TEST_RUN_ONLY=""
+       java-pkg-simple_src_test
+}

Reply via email to