/* * Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * 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.
*/
/* * @test * @bug 4680945 4873419 * @summary Check process exit code * @author kladko, Martin Buchholz
*/
import java.io.File;
publicclass ExitValue
{
publicstatic String join(String separator, String[] elts) {
String result = elts[0]; for (int i = 1; i < elts.length; ++i)
result = result + separator + elts[i]; return result;
}
publicstaticvoid checkExitValue(String[] commandArgs, int expectedExitValue) throws Exception
{ if (! (new File(commandArgs[0]).exists())) return;
System.out.println("Running command: " + join(" ", commandArgs));
Process proc = Runtime.getRuntime().exec(commandArgs); int val; byte[] buf = newbyte[4096]; int n = proc.getErrorStream().read(buf); if (n > 0) thrownew Exception
("Unexpected stderr: "
+ new String(buf, 0, n, "ASCII")); if ((val = proc.waitFor()) != expectedExitValue) thrownew Exception
("waitFor() returned unexpected value " + val); if ((val = proc.exitValue()) != expectedExitValue) thrownew Exception
("exitValue() returned unexpected value " + val);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.