Package org.apache.tools.ant.taskdefs.optional.junit

# Class TearDownOnVmCrash

java.lang.Object
org.apache.tools.ant.taskdefs.optional.junit.TearDownOnVmCrash

All Implemented Interfaces:
  `junit.framework.TestListener`, `JUnitResultFormatter`, `JUnitTaskMirror.JUnitResultFormatterMirror`

public class TearDownOnVmCrash extends Object implements JUnitResultFormatter
Formatter that doesn't create any output but tries to invoke the tearDown method on a testcase if that test was forked and caused a timeout or VM crash.

This formatter has some limitations, for details see the <junit> task's manual.

Since:
  Ant 1.8.0

## Constructor Summary

Constructors
Constructor
Description
`TearDownOnVmCrash()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addError(junit.framework.Test fakeTest, Throwable t)`
Only invoke tearDown if the suite is known and not the dummy test we get when a Batch fails and the error is an actual error generated by Ant.
`void`
`addFailure(junit.framework.Test test, Throwable t)`
`void`
`addFailure(junit.framework.Test test, junit.framework.AssertionFailedError t)`
`void`
`endTest(junit.framework.Test test)`
`void`
`endTestSuite(JUnitTest suite)`
The whole testsuite ended.
`void`
`setOutput(OutputStream out)`
Sets the stream the formatter is supposed to write its results to.
`void`
`setSystemError(String err)`
This is what the test has written to System.err
`void`
`setSystemOutput(String out)`
This is what the test has written to System.out
`void`
`startTest(junit.framework.Test test)`
`void`
`startTestSuite(JUnitTest suite)`
Records the suite's name to later determine the class to invoke tearDown on.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### TearDownOnVmCrash

public TearDownOnVmCrash()

## Method Details

### startTestSuite

public void startTestSuite(JUnitTest suite)
Records the suite's name to later determine the class to invoke tearDown on.

Specified by:
  `startTestSuite` in interface `JUnitResultFormatter`
Parameters:
  `suite` - the suite.

### addError

public void addError(junit.framework.Test fakeTest, Throwable t)
Only invoke tearDown if the suite is known and not the dummy test we get when a Batch fails and the error is an actual error generated by Ant.

Specified by:
  `addError` in interface `junit.framework.TestListener`

### addFailure

public void addFailure(junit.framework.Test test, Throwable t)

### addFailure

public void addFailure(junit.framework.Test test, junit.framework.AssertionFailedError t)

Specified by:
  `addFailure` in interface `junit.framework.TestListener`

### startTest

public void startTest(junit.framework.Test test)

Specified by:
  `startTest` in interface `junit.framework.TestListener`

### endTest

public void endTest(junit.framework.Test test)

Specified by:
  `endTest` in interface `junit.framework.TestListener`

### endTestSuite

public void endTestSuite(JUnitTest suite)
Description copied from interface: `JUnitResultFormatter`
The whole testsuite ended.

Specified by:
  `endTestSuite` in interface `JUnitResultFormatter`
Parameters:
  `suite` - the suite.

### setOutput

public void setOutput(OutputStream out)
Description copied from interface: `JUnitResultFormatter`
Sets the stream the formatter is supposed to write its results to.

Specified by:
  `setOutput` in interface `JUnitResultFormatter`
Specified by:
  `setOutput` in interface `JUnitTaskMirror.JUnitResultFormatterMirror`
Parameters:
  `out` - the output stream to use.

### setSystemOutput

public void setSystemOutput(String out)
Description copied from interface: `JUnitResultFormatter`
This is what the test has written to System.out

Specified by:
  `setSystemOutput` in interface `JUnitResultFormatter`
Parameters:
  `out` - the string to write.

### setSystemError

public void setSystemError(String err)
Description copied from interface: `JUnitResultFormatter`
This is what the test has written to System.err

Specified by:
  `setSystemError` in interface `JUnitResultFormatter`
Parameters:
  `err` - the string to write.