Mercurial > hg > release > icedtea6-1.2
view test/jtreg/com/sun/javatest/lib/ExecStdTestOtherJVMCmd.java @ 866:f42fc832db86
Add missing (ignored) lib/ files. Add test report and classes dirs to ignore.
2008-05-19 Mark Wielaard <mark@klomp.org>
* test/jtreg/com/sun/javatest/lib/*.java: Added.
* .hgignore: Add test/hotspot, test/jdk, test/langtools and
test/jtreg/classes
author | Mark Wielaard <mark@klomp.org> |
---|---|
date | Mon, 19 May 2008 10:33:03 +0200 |
parents | |
children |
line wrap: on
line source
/* * $Id$ * * Copyright 1996-2008 Sun Microsystems, Inc. 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. Sun designates this * particular file as subject to the "Classpath" exception as provided * by Sun in the LICENSE file that accompanied this code. * * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. */ package com.sun.javatest.lib; import com.sun.javatest.Status; /** * This is a modification of <code>ProcessCommand</code> suitable * for executing standard tests in a separate JVM. When run in a * separate process, these tests report their exit status by calling * <code>Status.exit()</code>. **/ public class ExecStdTestOtherJVMCmd extends ProcessCommand { /** * Generate a status for the command, based upon the command's exit code * and a status that may have been passed from the command by using * <code>status.exit()</code>. * * @param exitCode The exit code from the command that was executed. * @param logStatus If the command that was executed was a test program * and exited by calling <code>status.exit()</code>, * then logStatus will be set to `status'. Otherwise, * it will be null. The value of the status is passed * from the command by writing it as the last line to * stdout before exiting the process. If it is not * received as the last line, the value will be lost. * @return If <code>logStatus</code> is not null, it will * be used as the result; this will normally correspond * to the status for which the test called * <code>status.exit();</code>. * <p> If <code>logStatus</code> is null, that means * that for some reason the test did not successfully * call <code>status.exit()</code> and the test is * deemed to have failed. If the exit code is zero, * a likely possibility is that the test raised an * exception which caused the JVM to dump the stack * and exit. In this case, the result is * <code>Status.failed("exit without status, exception assumed")</code>. * In other cases, the result is simply * <code>Status.failed("exit code" + exitCode)</code>. * **/ protected Status getStatus(int exitCode, Status logStatus) { if (logStatus != null) return logStatus; else if (exitCode == 0) return Status.failed("exit without status, exception assumed"); else return Status.failed("exit code " + exitCode); } }