Skip to content

Commit bc02a83

Browse files
authored
Better fix for security manager test on Java 24 (#7699)
1 parent 5ab0a65 commit bc02a83

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

sdk/trace-shaded-deps/src/test/java/io/opentelemetry/sdk/trace/internal/JcToolsSecurityManagerTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
public class JcToolsSecurityManagerTest {
2020

2121
@Test
22+
// System.setSecurityManager throws UnsupportedOperationException in Java 18+
2223
@EnabledOnJre({JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_17})
2324
@SuppressLogger(JcTools.class)
2425
void newFixedSizeQueue_SunMiscProhibited() {

sdk/trace-shaded-deps/src/test/java/io/opentelemetry/sdk/trace/internal/SunMiscProhibitedSecurityManagerTest.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,22 @@
88
import static org.assertj.core.api.Assertions.assertThatNoException;
99
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1010

11+
import java.security.AccessControlException;
1112
import org.junit.jupiter.api.Test;
13+
import org.junit.jupiter.api.condition.EnabledOnJre;
14+
import org.junit.jupiter.api.condition.JRE;
1215

16+
// Security manager removed in Java 24
17+
@EnabledOnJre({JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_17, JRE.JAVA_21})
1318
class SunMiscProhibitedSecurityManagerTest {
1419

1520
@Test
1621
public void checkPackageAccess_ProhibitsSunMisc() {
1722
SunMiscProhibitedSecurityManager sm = new SunMiscProhibitedSecurityManager();
1823
assertThatThrownBy(() -> sm.checkPackageAccess("sun.misc"))
19-
.isInstanceOf(SecurityException.class);
24+
.isInstanceOf(AccessControlException.class)
25+
.hasMessage(
26+
"access denied (\"java.lang.RuntimePermission\" \"accessClassInPackage.sun.misc\")");
2027
}
2128

2229
@Test
@@ -25,7 +32,9 @@ public void checkPackageAccess_ProhibitsSunMiscRuntimePermission() {
2532

2633
assertThatThrownBy(
2734
() -> sm.checkPermission(new RuntimePermission("accessClassInPackage.sun.misc")))
28-
.isInstanceOf(SecurityException.class);
35+
.isInstanceOf(AccessControlException.class)
36+
.hasMessage(
37+
"access denied (\"java.lang.RuntimePermission\" \"accessClassInPackage.sun.misc\")");
2938
}
3039

3140
@Test

0 commit comments

Comments
 (0)