You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/08/07 13:19:02 UTC
[26/38] logging-log4j2 git commit: Parameterize
XmlCompleteFileAppenderTest.
Parameterize XmlCompleteFileAppenderTest.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/1467acca
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1467acca
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1467acca
Branch: refs/heads/LOG4J2-1010&LOG4J2-1447-injectable-contextdata&better-datastructure
Commit: 1467acca0f9f7ac2eeaf3d1ffb7f1883a2278c57
Parents: 9ee19e3
Author: Gary Gregory <gg...@apache.org>
Authored: Thu Aug 4 22:28:02 2016 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Thu Aug 4 22:28:02 2016 -0700
----------------------------------------------------------------------
.../appender/XmlCompleteFileAppenderTest.java | 41 +++++++++++++++-----
1 file changed, 32 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1467acca/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/XmlCompleteFileAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/XmlCompleteFileAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/XmlCompleteFileAppenderTest.java
index ae772f2..ab4d79f 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/XmlCompleteFileAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/XmlCompleteFileAppenderTest.java
@@ -23,45 +23,68 @@ import java.io.FileReader;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.CoreLoggerContexts;
+import org.apache.logging.log4j.core.async.AsyncLoggerContextSelector;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.selector.BasicContextSelector;
+import org.apache.logging.log4j.core.selector.ClassLoaderContextSelector;
+import org.apache.logging.log4j.core.selector.ContextSelector;
+import org.apache.logging.log4j.junit.CleanFiles;
+import org.apache.logging.log4j.junit.LoggerContextRule;
import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.RuleChain;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
import static org.junit.Assert.*;
/**
* Tests a "complete" XML file a.k.a. a well-formed XML file.
*/
+@RunWith(Parameterized.class)
public class XmlCompleteFileAppenderTest {
- @BeforeClass
- public static void beforeClass() {
- System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY,
- "XmlCompleteFileAppenderTest.xml");
+ public XmlCompleteFileAppenderTest(Class<ContextSelector> contextSelector) {
+ this.loggerContextRule = new LoggerContextRule("XmlCompleteFileAppenderTest.xml", contextSelector);
+ this.cleanFiles = new CleanFiles(logFile);
+ this.ruleChain = RuleChain.outerRule(cleanFiles).around(loggerContextRule);
}
+ @Parameters(name = "{0}")
+ public static Class<?>[] getParameters() {
+ return new Class<?>[] { ClassLoaderContextSelector.class, BasicContextSelector.class, AsyncLoggerContextSelector.class };
+ }
+
+ private final File logFile = new File("target", "XmlCompleteFileAppenderTest.log");
+ private final LoggerContextRule loggerContextRule;
+ private final CleanFiles cleanFiles;
+
+ @Rule
+ public RuleChain ruleChain;
+
@Test
public void testFlushAtEndOfBatch() throws Exception {
- final File file = new File("target", "XmlCompleteFileAppenderTest.log");
// System.out.println(f.getAbsolutePath());
- file.delete();
+ logFile.delete();
final Logger log = LogManager.getLogger("com.foo.Bar");
final String logMsg = "Message flushed with immediate flush=false";
log.info(logMsg);
- CoreLoggerContexts.stopLoggerContext(false, file); // stop async thread
+ CoreLoggerContexts.stopLoggerContext(false, logFile); // stop async thread
String line1;
String line2;
String line3;
String line4;
- try (final BufferedReader reader = new BufferedReader(new FileReader(file))) {
+ try (final BufferedReader reader = new BufferedReader(new FileReader(logFile))) {
line1 = reader.readLine();
line2 = reader.readLine();
reader.readLine(); // ignore the empty line after the <Events> root
line3 = reader.readLine();
line4 = reader.readLine();
} finally {
- file.delete();
+ logFile.delete();
}
assertNotNull("line1", line1);
final String msg1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";