summaryrefslogtreecommitdiff
path: root/java/common
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2011-08-21 15:29:52 +0000
committerRobert Gemmell <robbie@apache.org>2011-08-21 15:29:52 +0000
commit7d3b5d71fb5ac6fe8fd8f2b67561b01d48b48ad5 (patch)
tree50ee949f303e96bc6eb1b7b53a48604214322765 /java/common
parent96834c9e153bba0cc6987b7ee1c32b9b87bf9cb4 (diff)
downloadqpid-python-7d3b5d71fb5ac6fe8fd8f2b67561b01d48b48ad5.tar.gz
NO-JIRA: remove test config for Logger which is no longer used, move test start reporting to QTC so it shows up in output of non-broker tests, move log level utility methods to QTC
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1159998 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common')
-rw-r--r--java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java73
1 files changed, 63 insertions, 10 deletions
diff --git a/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java b/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java
index 2ec5e17a16..ac3380e0c0 100644
--- a/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java
+++ b/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java
@@ -32,6 +32,7 @@ import java.util.Map;
import junit.framework.TestCase;
import junit.framework.TestResult;
+import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.mina.util.AvailablePortFinder;
@@ -42,8 +43,11 @@ public class QpidTestCase extends TestCase
private static final Logger _logger = Logger.getLogger(QpidTestCase.class);
+ private final Map<Logger, Level> _loggerLevelSetForTest = new HashMap<Logger, Level>();
private final Map<String, String> _propertiesSetForTest = new HashMap<String, String>();
+ private String _testName;
+
/**
* Some tests are excluded when the property test.excludes is set to true.
* An exclusion list is either a file (prop test.excludesfile) which contains one test name
@@ -172,25 +176,74 @@ public class QpidTestCase extends TestCase
*/
protected void revertTestSystemProperties()
{
- _logger.debug("reverting " + _propertiesSetForTest.size() + " test properties");
- for (String key : _propertiesSetForTest.keySet())
+ if(!_propertiesSetForTest.isEmpty())
{
- String value = _propertiesSetForTest.get(key);
- if (value != null)
- {
- System.setProperty(key, value);
- }
- else
+ _logger.debug("reverting " + _propertiesSetForTest.size() + " test properties");
+ for (String key : _propertiesSetForTest.keySet())
{
- System.clearProperty(key);
+ String value = _propertiesSetForTest.get(key);
+ if (value != null)
+ {
+ System.setProperty(key, value);
+ }
+ else
+ {
+ System.clearProperty(key);
+ }
}
+
+ _propertiesSetForTest.clear();
+ }
+ }
+
+ /**
+ * Adjust the VMs Log4j Settings just for this test run
+ *
+ * @param logger the logger to change
+ * @param level the level to set
+ */
+ protected void setLoggerLevel(Logger logger, Level level)
+ {
+ assertNotNull("Cannot set level of null logger", logger);
+ assertNotNull("Cannot set Logger("+logger.getName()+") to null level.",level);
+
+ if (!_loggerLevelSetForTest.containsKey(logger))
+ {
+ // Record the current value so we can revert it later.
+ _loggerLevelSetForTest.put(logger, logger.getLevel());
+ }
+
+ logger.setLevel(level);
+ }
+
+ /**
+ * Restore the logging levels defined by this test.
+ */
+ protected void revertLoggingLevels()
+ {
+ for (Logger logger : _loggerLevelSetForTest.keySet())
+ {
+ logger.setLevel(_loggerLevelSetForTest.get(logger));
}
- _propertiesSetForTest.clear();
+ _loggerLevelSetForTest.clear();
}
protected void tearDown() throws java.lang.Exception
{
+ _logger.info("========== tearDown " + _testName + " ==========");
revertTestSystemProperties();
+ revertLoggingLevels();
+ }
+
+ protected void setUp() throws Exception
+ {
+ _testName = getClass().getSimpleName() + "." + getName();
+ _logger.info("========== start " + _testName + " ==========");
+ }
+
+ protected String getTestName()
+ {
+ return _testName;
}
}