diff options
author | gjoranv <gv@yahoo-inc.com> | 2017-03-03 21:22:52 +0100 |
---|---|---|
committer | gjoranv <gv@yahoo-inc.com> | 2017-03-03 22:24:44 +0100 |
commit | 890e55ee1336edc1f1d391bbe1cb7ff0ebdae3fc (patch) | |
tree | f993d32b7d3a51baa61d5182bfe84425abea428e /container-accesslogging | |
parent | 55b8c02efdc3e8fc51ba289da3b9b7ea8526e327 (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.java | 109 |
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); } } |