From 4c047685b3879d27c5533a3f452c686c21f3577b Mon Sep 17 00:00:00 2001 From: Klemek Date: Sun, 20 Jan 2019 14:02:48 +0100 Subject: [PATCH] Updated tests to work on jdk9+ --- .../java/fr/klemek/logger/LoggerTest.java | 53 +++++++++++-------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/src/test/java/fr/klemek/logger/LoggerTest.java b/src/test/java/fr/klemek/logger/LoggerTest.java index 37942a4..251794f 100644 --- a/src/test/java/fr/klemek/logger/LoggerTest.java +++ b/src/test/java/fr/klemek/logger/LoggerTest.java @@ -18,6 +18,18 @@ import static org.junit.Assert.fail; public class LoggerTest { private static Path output = new File("output.log").toPath(); + private static int majorJavaVersion = LoggerTest.getMajorJavaVersion(); + private static String internalPackage = majorJavaVersion <= 8 ? "sun" : "java.base/jdk.internal"; + + @Test + public void testLogException() { + Logger.log(new Exception("custom exception")); + verifyOutput(new String[]{ + "[SEVERE][Test-LoggerTest] java.lang.Exception: custom exception", + "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogException(LoggerTest.java:26)", + "[SEVERE][Test-LoggerTest] \t " + internalPackage + ".reflect.NativeMethodAccessorImpl.invoke0(Native Method)" + }); + } @Before public void setUp() throws IOException { @@ -61,23 +73,26 @@ public class LoggerTest { }); } - @Test - public void testLogException() { - Logger.log(new Exception("custom exception")); - verifyOutput(new String[]{ - "[SEVERE][Test-LoggerTest] java.lang.Exception: custom exception", - "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogException(LoggerTest.java:66)", - "[SEVERE][Test-LoggerTest] \t sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)" - }); - } - @Test public void testLogExceptionMessage() { Logger.log(new Exception("custom exception"), "custom message"); verifyOutput(new String[]{ "[SEVERE][Test-LoggerTest] custom message: java.lang.Exception: custom exception", - "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogExceptionMessage(LoggerTest.java:76)", - "[SEVERE][Test-LoggerTest] \t sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)" + "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogExceptionMessage(LoggerTest.java:78)", + "[SEVERE][Test-LoggerTest] \t " + internalPackage + ".reflect.NativeMethodAccessorImpl.invoke0(Native Method)" + }); + } + + @Test + public void testLogExceptionCause() { + Logger.log(new Exception("custom exception", new Exception("custom cause"))); + verifyOutput(new String[]{ + "[SEVERE][Test-LoggerTest] java.lang.Exception: custom exception", + "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogExceptionCause(LoggerTest.java:88)", + "[SEVERE][Test-LoggerTest] \t " + internalPackage + ".reflect.NativeMethodAccessorImpl.invoke0(Native Method)", + "[SEVERE][Test-LoggerTest] Caused by: java.lang.Exception: custom cause", + "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogExceptionCause(LoggerTest.java:88)", + "[SEVERE][Test-LoggerTest] \t " + internalPackage + ".reflect.NativeMethodAccessorImpl.invoke0(Native Method)" }); } @@ -97,17 +112,9 @@ public class LoggerTest { }); } - @Test - public void testLogExceptionCause() { - Logger.log(new Exception("custom exception", new Exception("custom cause"))); - verifyOutput(new String[]{ - "[SEVERE][Test-LoggerTest] java.lang.Exception: custom exception", - "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogExceptionCause(LoggerTest.java:102)", - "[SEVERE][Test-LoggerTest] \t sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)", - "[SEVERE][Test-LoggerTest] Caused by: java.lang.Exception: custom cause", - "[SEVERE][Test-LoggerTest] \t fr.klemek.logger.LoggerTest.testLogExceptionCause(LoggerTest.java:102)", - "[SEVERE][Test-LoggerTest] \t sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)" - }); + private static int getMajorJavaVersion() { + String[] javaVersionElements = System.getProperty("java.runtime.version").split("\\.|_|-b"); + return Integer.parseInt(javaVersionElements[1]); } @Test