< prev index next >

test/jdk/java/lang/SecurityManager/modules/CustomSecurityManagerTest.java

Print this page

 1 /*
 2  * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
 3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 4  *
 5  * This code is free software; you can redistribute it and/or modify it
 6  * under the terms of the GNU General Public License version 2 only, as
 7  * published by the Free Software Foundation.
 8  *
 9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */

47         return new Object[][]{
48             new Object[] { List.of(
49                     "--module-path", MODULE_PATH,
50                     "--add-modules", "m",
51                     "-Djava.security.manager",
52                     String.format("-Djava.security.policy=%s", POLICY_PATH),
53                     "RunTest"
54             ) },
55             new Object[] { List.of(
56                     "--module-path", MODULE_PATH,
57                     "--add-modules", "m",
58                     "-Djava.security.manager=p.CustomSecurityManager",
59                     String.format("-Djava.security.policy=%s", POLICY_PATH),
60                     "RunTest"
61             ) }
62         };
63     }
64 
65     @Test(dataProvider = "testCases")
66     public void testProvider(List<String> args) throws Throwable {
67         ProcessBuilder processBuilder = ProcessTools.createLimitedTestJavaProcessBuilder(args);
68         OutputAnalyzer outputAnalyzer = ProcessTools.executeCommand(processBuilder);
69         outputAnalyzer.shouldHaveExitValue(0);
70     }
71 
72 }
73 
74 class RunTest {
75     public static void main(String... args) {
76         SecurityManager sm = System.getSecurityManager();
77         Module module = sm.getClass().getModule();
78         String s = System.getProperty("java.security.manager");
79         String expected = s.isEmpty() ? "java.base" : "m";
80         if (!module.isNamed() || !module.getName().equals(expected)) {
81             throw new RuntimeException(module + " expected module m instead");
82         }
83     }
84 }

 1 /*
 2  * Copyright (c) 2015, 2024, Oracle and/or its affiliates. All rights reserved.
 3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 4  *
 5  * This code is free software; you can redistribute it and/or modify it
 6  * under the terms of the GNU General Public License version 2 only, as
 7  * published by the Free Software Foundation.
 8  *
 9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */

47         return new Object[][]{
48             new Object[] { List.of(
49                     "--module-path", MODULE_PATH,
50                     "--add-modules", "m",
51                     "-Djava.security.manager",
52                     String.format("-Djava.security.policy=%s", POLICY_PATH),
53                     "RunTest"
54             ) },
55             new Object[] { List.of(
56                     "--module-path", MODULE_PATH,
57                     "--add-modules", "m",
58                     "-Djava.security.manager=p.CustomSecurityManager",
59                     String.format("-Djava.security.policy=%s", POLICY_PATH),
60                     "RunTest"
61             ) }
62         };
63     }
64 
65     @Test(dataProvider = "testCases")
66     public void testProvider(List<String> args) throws Throwable {
67         ProcessBuilder processBuilder = ProcessTools.createTestJavaProcessBuilder(args);
68         OutputAnalyzer outputAnalyzer = ProcessTools.executeCommand(processBuilder);
69         outputAnalyzer.shouldHaveExitValue(0);
70     }
71 
72 }
73 
74 class RunTest {
75     public static void main(String... args) {
76         SecurityManager sm = System.getSecurityManager();
77         Module module = sm.getClass().getModule();
78         String s = System.getProperty("java.security.manager");
79         String expected = s.isEmpty() ? "java.base" : "m";
80         if (!module.isNamed() || !module.getName().equals(expected)) {
81             throw new RuntimeException(module + " expected module m instead");
82         }
83     }
84 }
< prev index next >