From 0e81a89428812436ad35285700c8fae614a7b92e Mon Sep 17 00:00:00 2001
From: davidely <davidely@localhost>
Date: Mon, 22 Jan 2007 03:40:12 +0000
Subject: [PATCH] 1. Wrapped TestNG suite runner with our own (SuiteRunner.java). When there is an uncaught exception in the tests, this gives us the stack trace and forces the tests to exit. This should make it easier to track down OutOfMemoryErrors in the future.
---
opends/tests/unit-tests-testng/src/server/org/opends/server/DirectoryServerTestCase.java | 105 +---------------------------------------------------
1 files changed, 2 insertions(+), 103 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/DirectoryServerTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/DirectoryServerTestCase.java
index a4b7ac8..171489e 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/DirectoryServerTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/DirectoryServerTestCase.java
@@ -29,16 +29,6 @@
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
-import java.io.PrintStream;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.logging.ConsoleHandler;
-import java.util.logging.Handler;
-import java.util.logging.Logger;
-import java.util.logging.LogManager;
-
-import org.opends.server.types.NullOutputStream;
-
/**
* This class defines a base test case that should be subclassed by all
* unit tests used by the Directory Server.
@@ -47,105 +37,14 @@
* have them include the class name.
*/
public abstract class DirectoryServerTestCase {
- // The set of loggers for which the console logger has been disabled.
- private HashMap<Logger,Handler> disabledLogHandlers;
-
- // The print stream to use for printing error messages.
- private PrintStream errorStream;
-
- // The original System.err print stream.
- private PrintStream originalSystemErr;
-
- // The original System.out print stream.
- private PrintStream originalSystemOut;
-
@BeforeSuite
public final void suppressOutput() {
- String suppressStr = System.getProperty("org.opends.test.suppressOutput");
- if ((suppressStr != null) && suppressStr.equalsIgnoreCase("true"))
- {
- System.setOut(NullOutputStream.printStream());
- System.setErr(NullOutputStream.printStream());
- errorStream = NullOutputStream.printStream();
-
- LogManager logManager = LogManager.getLogManager();
- Enumeration<String> loggerNames = logManager.getLoggerNames();
- while (loggerNames.hasMoreElements())
- {
- String loggerName = loggerNames.nextElement();
- Logger logger = logManager.getLogger(loggerName);
- for (Handler h : logger.getHandlers())
- {
- if (h instanceof ConsoleHandler)
- {
- disabledLogHandlers.put(logger, h);
- logger.removeHandler(h);
- break;
- }
- }
- }
- }
+ TestCaseUtils.suppressOutput();
}
@AfterSuite
public final void shutdownServer() {
TestCaseUtils.shutdownServer("The current test suite has finished.");
-
- System.setOut(originalSystemOut);
- System.setErr(originalSystemErr);
- errorStream = originalSystemErr;
-
- for (Logger l : disabledLogHandlers.keySet())
- {
- Handler h = disabledLogHandlers.get(l);
- l.addHandler(h);
- }
- disabledLogHandlers.clear();
+ TestCaseUtils.unsupressOutput();
}
-
- /**
- * Creates a new instance of this test case with the provided name.
- */
- protected DirectoryServerTestCase() {
- this.errorStream = System.err;
-
- disabledLogHandlers = new HashMap<Logger,Handler>();
- originalSystemOut = System.out;
- originalSystemErr = System.err;
- }
-
- /**
- * Prints the provided message to the error stream, prepending the
- * fully-qualified class name.
- *
- * @param message
- * The message to be printed to the error stream.
- */
- public final void printError(String message) {
- errorStream.print(getClass().getName());
- errorStream.print(" -- ");
- errorStream.println(message);
- }
-
- /**
- * Prints the stack trace for the provided exception to the error
- * stream.
- *
- * @param exception
- * The exception to be printed to the error stream.
- */
- public final void printException(Throwable exception) {
- exception.printStackTrace(errorStream);
- }
-
- /**
- * Specifies the error stream to which messages will be printed.
- *
- * @param errorStream
- * The error stream to which messages will be printed.
- */
- public final void setErrorStream(PrintStream errorStream) {
- this.errorStream = errorStream;
- }
-
}
--
Gitblit v1.10.0