dev-java/asm: enable tests

Closes: https://bugs.gentoo.org/212860
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/871
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
This commit is contained in:
Volkmar W. Pogatzki
2026-05-21 08:34:07 +02:00
committed by Miroslav Šulc
parent e450a721be
commit 39e19ec9b7
2 changed files with 79 additions and 4 deletions

View File

@@ -3,13 +3,13 @@
EAPI=9
# tests not enabled because of missing eclass support of junit-jupiter
JAVA_PKG_IUSE="doc source"
JAVA_PKG_IUSE="doc source test"
JAVA_TESTING_FRAMEWORKS="junit-jupiter"
# Avoid circular dependency
JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
inherit java-pkg-2 java-pkg-simple
inherit java-pkg-2 java-pkg-simple junit5
MY_P="ASM_${PV//./_}"
@@ -22,11 +22,31 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x64-macos"
DEPEND=">=virtual/jdk-11:*"
DEPEND="
>=virtual/jdk-11:*
test? (
>=dev-java/janino-3.1.9:0
dev-java/junit:5[-vintage]
>=dev-java/opentest4j-1.3.0-r1:0
)
"
RDEPEND=">=virtual/jre-1.8:*"
PATCHES=( "${FILESDIR}"/asm-9.10-gentoo.patch )
ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" )
JAVADOC_SRC_DIRS=( asm{-analysis,-commons,,-tree,-util}/src/main/java )
JAVA_TEST_GENTOO_CLASSPATH="janino junit-5 opentest4j"
JAVA_TEST_RESOURCE_DIRS=( asm{-analysis,-commons,,-tree,-util}/src/test/resources )
# The junit:5 version is too old, compilation of LambdaRemapTest.java fails with:
# asm-commons/src/test/java/org/objectweb/asm/commons/LambdaRemapTest.java:9: error: cannot find symbol
# import org.junit.jupiter.params.Parameter;
# ^
# symbol: class Parameter
JAVA_TEST_SRC_DIR=( asm{-analysis,-commons,,-test,-tree,-util}/src/test/java \
! -name LambdaRemapTest.java )
src_compile() {
local module
@@ -59,6 +79,17 @@ src_compile() {
use doc && ejavadoc
}
src_test() {
JAVAC_ARGS="-g"
JAVA_CLASSPATH_EXTRA="junit-5"
JAVA_GENTOO_CLASSPATH_EXTRA+=":asm-test.jar"
JAVA_JAR_FILENAME="asm-test.jar"
JAVA_RESOURCE_DIRS=( asm-test/src/main/resources )
JAVA_SRC_DIR=( asm-test/src/main/java )
java-pkg-simple_src_compile
junit5_src_test
}
src_install() {
JAVA_JAR_FILENAME="asm.jar"
java-pkg-simple_src_install

View File

@@ -0,0 +1,44 @@
--- a/asm-analysis/src/test/java/org/objectweb/asm/tree/analysis/AnalyzerWithBasicInterpreterTest.java
+++ b/asm-analysis/src/test/java/org/objectweb/asm/tree/analysis/AnalyzerWithBasicInterpreterTest.java
@@ -206,7 +206,7 @@ class AnalyzerWithBasicInterpreterTest extends AsmTest {
void testAnalyze_mergeWithJsrReachableFromTwoDifferentPaths()
throws IOException, AnalyzerException {
ClassReader classReader =
- new ClassReader(Files.newInputStream(Paths.get("src/test/resources/Issue316204.class")));
+ new ClassReader(Files.newInputStream(Paths.get("asm-analysis/src/test/resources/Issue316204.class")));
ClassNode classNode = new ClassNode();
classReader.accept(classNode, 0);
Analyzer<BasicValue> analyzer = new Analyzer<>(new BasicInterpreter());
--- a/asm-commons/src/test/java/org/objectweb/asm/commons/LocalVariablesSorterTest.java
+++ b/asm-commons/src/test/java/org/objectweb/asm/commons/LocalVariablesSorterTest.java
@@ -216,7 +216,7 @@ class LocalVariablesSorterTest extends AsmTest {
@Test
void testAllMethods_issue317586() throws IOException {
ClassReader classReader =
- new ClassReader(Files.newInputStream(Paths.get("src/test/resources/Issue317586.class")));
+ new ClassReader(Files.newInputStream(Paths.get("asm-commons/src/test/resources/Issue317586.class")));
ClassWriter classWriter = new ClassWriter(0);
ClassVisitor localVariablesSorter =
new LocalVariablesSorterClassAdapter(/* latest */ Opcodes.ASM10_EXPERIMENTAL, classWriter);
--- a/asm-util/src/test/java/org/objectweb/asm/util/TextifierTest.java
+++ b/asm-util/src/test/java/org/objectweb/asm/util/TextifierTest.java
@@ -84,7 +84,7 @@ class TextifierTest extends AsmTest {
0);
String expectedText =
- Files.readString(Paths.get("src/test/resources/" + classParameter.getName() + ".txt"))
+ Files.readString(Paths.get("asm-util/src/test/resources/" + classParameter.getName() + ".txt"))
.replace("\r", "");
assertEquals(expectedText, output.toString());
--- a/asm/src/test/java/org/objectweb/asm/ClassWriterTest.java
+++ b/asm/src/test/java/org/objectweb/asm/ClassWriterTest.java
@@ -387,7 +387,7 @@ class ClassWriterTest extends AsmTest {
@ValueSource(strings = {"Issue307600.class", "Issue311642.class"})
void testToByteArray_computeMaxs_largeSubroutines(final String classFileName) throws IOException {
ClassReader classReader =
- new ClassReader(Files.newInputStream(Paths.get("src/test/resources/" + classFileName)));
+ new ClassReader(Files.newInputStream(Paths.get("asm/src/test/resources/" + classFileName)));
ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS);
classReader.accept(classWriter, attributes(), 0);