summaryrefslogtreecommitdiffstats
path: root/container-accesslogging
diff options
context:
space:
mode:
authorgjoranv <gv@yahoo-inc.com>2017-03-03 21:22:52 +0100
committergjoranv <gv@yahoo-inc.com>2017-03-03 22:24:44 +0100
commit890e55ee1336edc1f1d391bbe1cb7ff0ebdae3fc (patch)
treef993d32b7d3a51baa61d5182bfe84425abea428e /container-accesslogging
parent55b8c02efdc3e8fc51ba289da3b9b7ea8526e327 (diff)
Fix various issues in LogFileHandlerTestCase
- Files were pushed to deleteOnExit in the wrong order. - Remove useless tests that deleted non-existent files or dirs before logging. - Use unique files for each test.
Diffstat (limited to 'container-accesslogging')
-rw-r--r--container-accesslogging/src/test/java/com/yahoo/container/logging/test/LogFileHandlerTestCase.java109
1 files changed, 40 insertions, 69 deletions
diff --git a/container-accesslogging/src/test/java/com/yahoo/container/logging/test/LogFileHandlerTestCase.java b/container-accesslogging/src/test/java/com/yahoo/container/logging/test/LogFileHandlerTestCase.java
index eb1a19e23e2..bde40f289de 100644
--- a/container-accesslogging/src/test/java/com/yahoo/container/logging/test/LogFileHandlerTestCase.java
+++ b/container-accesslogging/src/test/java/com/yahoo/container/logging/test/LogFileHandlerTestCase.java
@@ -2,9 +2,11 @@
package com.yahoo.container.logging.test;
import com.yahoo.container.logging.LogFileHandler;
+import com.yahoo.io.IOUtils;
import org.junit.Test;
import java.io.File;
+import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -61,63 +63,35 @@ public class LogFileHandlerTestCase {
return file.delete();
}
- // Feeble attempt to get rid of test dirs and files somewhat more reliably in these poorly written tests
- private void delete2(String fileOrDir) {
- File file = new File(fileOrDir);
- file.deleteOnExit();
+ private void deleteOnExit(String fileOrDir) {
+ new File(fileOrDir).deleteOnExit();
}
- @Test
- public void testDeleteFileFirst() {
- String logFilePattern = "./testLogFileG.txt";
-
- //delete log file
- delete(logFilePattern);
-
- //create logfilehandler
- LogFileHandler h = new LogFileHandler();
- h.setFilePattern(logFilePattern);
- h.setFormatter(new SimpleFormatter());
- h.setRotationTimes("0 5 ...");
-
- //write log
- LogRecord lr = new LogRecord(Level.INFO, "testDeleteFileFirst1");
- h.publish(lr);
- h.flush();
-
- //delete log file
- delete2(logFilePattern);
+ private static void deleteRecursive(String directory) {
+ IOUtils.recursiveDeleteDir(new File(directory));
}
@Test
- public void testDeleteDirFirst() {
- //delete log file and dir
- delete("./testlogsG/delete/first/testlog");
- delete("./testlogsG/delete/first");
- delete("./testlogsG/delete");
- delete("./testlogsG");
+ public void testSimpleLogging() {
+ String logFilePattern = "./testLogFileG1.txt";
//create logfilehandler
LogFileHandler h = new LogFileHandler();
- h.setFilePattern("./testlogsG/delete/first/testlog");
+ h.setFilePattern(logFilePattern);
h.setFormatter(new SimpleFormatter());
h.setRotationTimes("0 5 ...");
//write log
- LogRecord lr = new LogRecord(Level.INFO, "testDeleteDirFirst1");
+ LogRecord lr = new LogRecord(Level.INFO, "testDeleteFileFirst1");
h.publish(lr);
h.flush();
- //delete log file and dir
- delete2("./testlogsG/delete/first/testlog");
- delete2("./testlogsG/delete/first");
- delete2("./testlogsG/delete");
- delete2("./testlogsG");
+ new File(logFilePattern).deleteOnExit();
}
@Test
public void testDeleteFileDuringLogging() {
- String logFilePattern = "./testLogFileG.txt";
+ String logFilePattern = "./testLogFileG2.txt";
//create logfilehandler
LogFileHandler h = new LogFileHandler();
@@ -138,39 +112,34 @@ public class LogFileHandlerTestCase {
h.publish(lr);
h.flush();
- //delete log file
- delete2(logFilePattern);
+ new File(logFilePattern).deleteOnExit();
}
@Test
- public void testDeleteDirDuringLogging() {
- //create logfilehandler
- LogFileHandler h = new LogFileHandler();
- h.setFilePattern("./testlogsG/delete/during/testlog");
- h.setFormatter(new SimpleFormatter());
- h.setRotationTimes("0 5 ...");
+ public void testDeleteDirDuringLogging() throws IOException {
+ //create logfilehandler
+ LogFileHandler h = new LogFileHandler();
+ h.setFilePattern("./testlogsG/delete/during/testlog");
+ h.setFormatter(new SimpleFormatter());
+ h.setRotationTimes("0 5 ...");
- //write log
- LogRecord lr = new LogRecord(Level.INFO, "testDeleteDirDuringLogging1");
- h.publish(lr);
- h.flush();
+ //write log
+ LogRecord lr = new LogRecord(Level.INFO, "testDeleteDirDuringLogging1");
+ h.publish(lr);
+ h.flush();
- //delete log file and dir
- delete("./testlogsG/delete/during/testlog");
- delete("./testlogsG/delete/during");
- delete("./testlogsG/delete");
- delete("./testlogsG");
+ //delete log file and dir
+ deleteRecursive("./testlogsG");
- //write log
- lr = new LogRecord(Level.INFO, "testDeleteDirDuringLogging2");
- h.publish(lr);
- h.flush();
+ //write log again
+ LogRecord lr2 = new LogRecord(Level.INFO, "testDeleteDirDuringLogging2");
+ h.publish(lr2);
+ h.flush();
- //delete log file and dir
- delete2("./testlogsG/delete/during/testlog");
- delete2("./testlogsG/delete/during");
- delete2("./testlogsG/delete");
- delete2("./testlogsG");
+ deleteOnExit("./testlogsG");
+ deleteOnExit("./testlogsG/delete");
+ deleteOnExit("./testlogsG/delete/first");
+ deleteOnExit("./testlogsG/delete/first/testlog");
}
@Test
@@ -188,6 +157,7 @@ public class LogFileHandlerTestCase {
LogRecord lr = new LogRecord(Level.INFO, "test");
h.publish(lr);
String f1 = h.getFileName();
+ String f2 = null;
try {
while (f1 == null) {
Thread.sleep(1);
@@ -195,7 +165,7 @@ public class LogFileHandlerTestCase {
}
h.rotateNow();
Thread.sleep(1);
- String f2 = h.getFileName();
+ f2 = h.getFileName();
while (f1.equals(f2)) {
Thread.sleep(1);
f2 = h.getFileName();
@@ -217,13 +187,14 @@ public class LogFileHandlerTestCase {
assertEquals(secondLength, link);
assertEquals(31, first);
assertEquals(secondLength, second);
- delete2(f2);
} catch (InterruptedException e) {
// just let the test pass
}
- delete2(f1);
- delete2("./testlogforsymlinkchecking/symlink");
- delete2("./testlogforsymlinkchecking");
+ deleteOnExit("./testlogforsymlinkchecking");
+ deleteOnExit("./testlogforsymlinkchecking/symlink");
+ deleteOnExit(f1);
+ if (f2 != null)
+ deleteOnExit(f2);
}
}