diff options
author | Robert Gemmell <robbie@apache.org> | 2011-08-21 15:29:52 +0000 |
---|---|---|
committer | Robert Gemmell <robbie@apache.org> | 2011-08-21 15:29:52 +0000 |
commit | 7d3b5d71fb5ac6fe8fd8f2b67561b01d48b48ad5 (patch) | |
tree | 50ee949f303e96bc6eb1b7b53a48604214322765 /java/common | |
parent | 96834c9e153bba0cc6987b7ee1c32b9b87bf9cb4 (diff) | |
download | qpid-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.java | 73 |
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; } } |