Skip to content

Commit fbb049a

Browse files
authored
YARN-11803. Skip SecurityManager tests in TestJavaSandboxLinuxContainerRuntime when SecurityManager is not available (#7543) Contributed by Istvan Toth.
* YARN-11803. Skip SecurityManager tests in TestJavaSandboxLinuxContainerRuntime when SecurityManager is not available. Signed-off-by: Shilun Fan <slfan1989@apache.org>
1 parent 7ec801f commit fbb049a

File tree

1 file changed

+20
-5
lines changed
  • hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime

1 file changed

+20
-5
lines changed

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/TestJavaSandboxLinuxContainerRuntime.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import java.net.SocketPermission;
4141
import java.nio.file.Files;
4242
import java.nio.file.Paths;
43+
import java.security.AccessControlException;
4344
import java.security.Permission;
4445
import java.util.ArrayList;
4546
import java.util.Arrays;
@@ -76,6 +77,8 @@
7677
import static org.junit.jupiter.api.Assertions.assertFalse;
7778
import static org.junit.jupiter.api.Assertions.assertThrows;
7879
import static org.junit.jupiter.api.Assertions.assertTrue;
80+
import static org.junit.jupiter.api.Assertions.fail;
81+
import static org.junit.jupiter.api.Assumptions.assumeTrue;
7982
import static org.mockito.Mockito.mock;
8083
import static org.mockito.Mockito.when;
8184

@@ -266,18 +269,30 @@ public void testGroupPolicies()
266269

267270
@Test
268271
public void testGrant() throws Exception {
269-
FilePermission grantPermission =
270-
new FilePermission(grantFile.getAbsolutePath(), "read");
271-
securityManager.checkPermission(grantPermission);
272+
try {
273+
FilePermission grantPermission =
274+
new FilePermission(grantFile.getAbsolutePath(), "read");
275+
securityManager.checkPermission(grantPermission);
276+
//Expected
277+
} catch (AccessControlException e) {
278+
assertTrue(false, "Permission should have been granted");
279+
} catch (SecurityException e) {
280+
assumeTrue(false, "SecurityManager is non-functional (i.e. Java 24+)");
281+
}
272282
}
273283

274284
@Test
275285
public void testDeny() throws Exception {
276-
assertThrows(java.security.AccessControlException.class, () -> {
286+
try {
277287
FilePermission denyPermission =
278288
new FilePermission(denyFile.getAbsolutePath(), "read");
279289
securityManager.checkPermission(denyPermission);
280-
});
290+
fail("Should have thrown AccessControlException");
291+
} catch (AccessControlException e) {
292+
//Expected
293+
} catch (SecurityException e) {
294+
assumeTrue(false, "SecurityManager is non-functional (i.e. Java 24+)");
295+
}
281296
}
282297

283298
@Test

0 commit comments

Comments
 (0)