This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-bcel.git
The following commit(s) were added to refs/heads/master by this push:
new 40df2247 Fix ConstantPoolModuleAccessTest failures on Java 25 (#469)
40df2247 is described below
commit 40df2247151f9a5407936d3837a0a69170dffc53
Author: Andrey Loskutov <[email protected]>
AuthorDate: Thu Oct 2 13:31:18 2025 +0200
Fix ConstantPoolModuleAccessTest failures on Java 25 (#469)
Updated test expectations according to changes in module-info classes
shipped with JDK 25.
Co-authored-by: Andrey Loskutov <[email protected]>
---
src/changes/changes.xml | 1 +
.../org/apache/bcel/classfile/ConstantPoolModuleAccessTest.java | 9 ++++++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index a82b5bbe..94b74e28 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -69,6 +69,7 @@ The <action> type attribute can be add,update,fix,remove.
<action type="fix" dev="ggregory" due-to="Gary
Gregory">Fix SpotBugs [ERROR] Medium: Operation on the "considered" shared
variable in "ConstantUtf8" class is not atomic
[org.apache.bcel.classfile.ConstantUtf8] At ConstantUtf8.java:[line 137]
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE.</action>
<action type="fix" dev="ggregory" due-to="Gary
Gregory">Fix SpotBugs [ERROR] Medium: Operation on the "skipped" shared
variable in "ConstantUtf8" class is not atomic
[org.apache.bcel.classfile.ConstantUtf8] At ConstantUtf8.java:[line 134]
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE.</action>
<action type="fix" dev="ggregory" due-to="Gary
Gregory">org.apache.bcel.util.ClassPath.addJdkModules(String,
List<String>) now reads the system property "jdk.module.path" instead of
"java.modules.path"; see
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/System.html#jdk.module.path.</action>
+ <action type="fix" dev="iloveeclipse" due-to="Andrey
Loskutov">Fix ConstantPoolModuleAccessTest failures on Java 25</action>
<!-- ADD -->
<action type="add" dev="ggregory" due-to="Gary
Gregory">Add Const.MAJOR_25.</action>
<action type="add" dev="ggregory" due-to="Gary
Gregory">Add Const.MINOR_25.</action>
diff --git
a/src/test/java/org/apache/bcel/classfile/ConstantPoolModuleAccessTest.java
b/src/test/java/org/apache/bcel/classfile/ConstantPoolModuleAccessTest.java
index f24bec85..2c9b1cce 100644
--- a/src/test/java/org/apache/bcel/classfile/ConstantPoolModuleAccessTest.java
+++ b/src/test/java/org/apache/bcel/classfile/ConstantPoolModuleAccessTest.java
@@ -161,7 +161,7 @@ public final class ConstantPoolModuleAccessTest {
expected.add("java.time.chrono.AbstractChronology");
expected.add("java.time.chrono.Chronology");
expected.add("java.time.zone.ZoneRulesProvider");
- if (javaClass.getMajor() > Const.MAJOR_11) {
+ if (javaClass.getMajor() > Const.MAJOR_11 &&
javaClass.getMajor() < Const.MAJOR_24) {
expected.add("java.util.random.RandomGenerator");
}
expected.add("java.util.spi.CalendarDataProvider");
@@ -231,6 +231,9 @@ public final class ConstantPoolModuleAccessTest {
expected.add("com.sun.tools.doclint.DocLint");
}
expected.add("com.sun.tools.javac.platform.PlatformProvider");
+ if (javaClass.getMajor() > Const.MAJOR_23) {
+
expected.add("com.sun.tools.javac.api.JavacTrees$DocCommentTreeTransformer");
+ }
assertEquals(expected, Arrays.asList(usedClassNames));
} else if
(urlPath.contains("/jdk.jconsole/module-info.class")) {
final List<String> expected = new ArrayList<>();
@@ -269,6 +272,10 @@ public final class ConstantPoolModuleAccessTest {
final List<String> expected = new ArrayList<>();
expected.add("jdk.internal.netscape.javascript.spi.JSObjectProvider");
assertEquals(expected, Arrays.asList(usedClassNames));
+ } else if
(urlPath.contains("/jdk.jdeps/module-info.class") && javaClass.getMajor() >
Const.MAJOR_24) {
+ final List<String> expected = new ArrayList<>();
+
expected.add("com.sun.tools.javac.platform.PlatformProvider");
+ assertEquals(expected, Arrays.asList(usedClassNames));
} else {
assertEquals(0, usedClassNames.length, () -> "Found "
+ Arrays.toString(usedClassNames) + " in " + urlPath);
}