/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* RMI regression test utility class that uses Runtime.exec to spawn a
* java process that will run a named java class.
*/
public class JavaVM {
}
/** string name of the program execd by JavaVM */
static {
try {
} catch (SecurityException se) {
}
}
}
}
this.outputStream = out;
this.errorStream = err;
}
// Prepends passed opts array to current options
}
newOpts += " ";
}
// Prepends passed arguments array to current args
}
newArgs += " ";
}
this.policyFileName = policyFileName;
}
/**
* This method is used for setting VM options on spawned VMs.
* It returns the extra command line options required
* to turn on jcov code coverage analysis.
*/
}
throw new NullPointerException("Runnable cannot be null.");
}
start();
}
/**
* Exec the VM as specified in this object's constructor.
*/
throw new IllegalStateException("JavaVM already started");
/*
* If specified, add option for policy file
*/
if (policyFileName != null) {
}
int count = 0;
while (optionsTokenizer.hasMoreTokens()) {
}
while (argsTokenizer.hasMoreTokens()) {
}
/* output from the execed process may optionally be captured. */
}
public void destroy() {
}
}
/**
* Waits for the subprocess to exit, joins the pipe threads to ensure that
* all output is collected, and returns its exit status.
*/
throw new IllegalStateException("can't wait for JavaVM that hasn't started");
return status;
}
/**
* Starts the subprocess, waits for it to exit, and returns its exit status.
*/
start();
return waitFor();
}
/**
* Handles calling the callback.
*/
}
/**
* Wait for the Process to terminate and notify the callback.
*/
public void run() {
try {
} catch(InterruptedException ie) {
// Restore the interrupted status
}
}
}
}
}
}