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 */
23
24 /**
25 * @test
26 * @bug 8169909
27 * @library src /lib/testlibrary
28 * @build test/*
29 * @run shell AppendToClassPathModuleTest.sh
30 * @run main AppendToClassPathModuleTest
31 */
32
33 import java.util.Map;
34 import static jdk.testlibrary.ProcessTools.*;
35
36 /**
37 * Launch a modular test with no class path and no CLASSPATH set.
38 * The java agent appends to the "hidden" directory to the class path
39 * at runtime.
40 */
41 public class AppendToClassPathModuleTest {
42 public static void main(String... args) throws Throwable {
43 String modulepath = System.getProperty("test.module.path");
44 ProcessBuilder pb =
45 createJavaProcessBuilder("-javaagent:Agent.jar",
46 "--module-path", modulepath,
47 "-m", "test/jdk.test.Main");
48
49 // remove CLASSPATH environment variable
50 Map<String,String> env = pb.environment();
51 String value = env.remove("CLASSPATH");
52
53 int exitCode = executeCommand(pb).getExitValue();
54 if (exitCode != 0) {
55 throw new RuntimeException("Test failed: " + exitCode);
56 }
57 }
58
59 }
|
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 */
23
24 /**
25 * @test
26 * @bug 8169909
27 * @library src /test/lib
28 * @build test/*
29 * @run shell AppendToClassPathModuleTest.sh
30 * @run main AppendToClassPathModuleTest
31 */
32
33 import jdk.test.lib.JDKToolFinder;
34
35 import java.util.Map;
36 import java.util.stream.Stream;
37
38 import static jdk.test.lib.process.ProcessTools.*;
39
40 /**
41 * Launch a modular test with no class path and no CLASSPATH set.
42 * The java agent appends to the "hidden" directory to the class path
43 * at runtime.
44 */
45 public class AppendToClassPathModuleTest {
46 public static void main(String... args) throws Throwable {
47 String modulepath = System.getProperty("test.module.path");
48
49 // can't use ProcessTools.createJavaProcessBuilder as it always adds -cp
50 ProcessBuilder pb = new ProcessBuilder(
51 JDKToolFinder.getTestJDKTool("java"),
52 "-javaagent:Agent.jar",
53 "--module-path", modulepath,
54 "-m", "test/jdk.test.Main");
55
56 Map<String,String> env = pb.environment();
57 // remove CLASSPATH environment variable
58 env.remove("CLASSPATH");
59
60 int exitCode = executeCommand(pb).getExitValue();
61 if (exitCode != 0) {
62 throw new RuntimeException("Test failed: " + exitCode);
63 }
64 }
65
66 }
|