TearDownOnVmCrash (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs.optional.junit, class: TearDownOnVmCrash

# 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 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.