114 "TestApplication(" + testId + ")",
115 server,
116 (String line) -> {
117 if (line.startsWith("port:")) {
118 port.set(line.split("\\:")[1]);
119 } else if (line.startsWith("waiting")) {
120 return true;
121 }
122 return false;
123 }
124 );
125
126 System.out.println("Attaching test manager:");
127 System.out.println("=========================");
128 System.out.println(" PID : " + serverPrc.getPid());
129 System.out.println(" shutdown port : " + port.get());
130
131 ProcessBuilder client = ProcessTools.createJavaProcessBuilder(
132 "-cp",
133 TEST_CLASSPATH,
134 "-XaddExports:java.management/sun.management=ALL-UNNAMED",
135 "TestManager",
136 String.valueOf(serverPrc.getPid()),
137 port.get(),
138 "true"
139 );
140
141 clientPrc = ProcessTools.startProcess(
142 "TestManager",
143 client,
144 (String line) -> line.startsWith("Starting TestManager for PID")
145 );
146
147 int clientExitCode = clientPrc.waitFor();
148 int serverExitCode = serverPrc.waitFor();
149 return clientExitCode == 0 && serverExitCode == 0;
150 } finally {
151 if (clientPrc != null) {
152 System.out.println("Stopping process " + clientPrc);
153 clientPrc.destroy();
154 clientPrc.waitFor();
|
114 "TestApplication(" + testId + ")",
115 server,
116 (String line) -> {
117 if (line.startsWith("port:")) {
118 port.set(line.split("\\:")[1]);
119 } else if (line.startsWith("waiting")) {
120 return true;
121 }
122 return false;
123 }
124 );
125
126 System.out.println("Attaching test manager:");
127 System.out.println("=========================");
128 System.out.println(" PID : " + serverPrc.getPid());
129 System.out.println(" shutdown port : " + port.get());
130
131 ProcessBuilder client = ProcessTools.createJavaProcessBuilder(
132 "-cp",
133 TEST_CLASSPATH,
134 "--add-exports", "java.management/sun.management=ALL-UNNAMED",
135 "TestManager",
136 String.valueOf(serverPrc.getPid()),
137 port.get(),
138 "true"
139 );
140
141 clientPrc = ProcessTools.startProcess(
142 "TestManager",
143 client,
144 (String line) -> line.startsWith("Starting TestManager for PID")
145 );
146
147 int clientExitCode = clientPrc.waitFor();
148 int serverExitCode = serverPrc.waitFor();
149 return clientExitCode == 0 && serverExitCode == 0;
150 } finally {
151 if (clientPrc != null) {
152 System.out.println("Stopping process " + clientPrc);
153 clientPrc.destroy();
154 clientPrc.waitFor();
|