@@ -81,7 +81,7 @@ public void run() {
8181 "\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f1IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
8282 "\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.generateException(StacktraceGenerator.java:X)\" ," + //
8383 "\" \\ tat com.sap.hcp.cf.logging.common.converter.DefaultStacktraceConverterTest$X.run(DefaultStacktraceConverterTest.java:X)\" ," + //
84- "\" \\ tat java.lang.Thread .run(Thread.java:X)\" ]" ;
84+ "\" \\ tat " + getThreadClassName () + " .run(Thread.java:X)\" ]" ;
8585 Assert .assertEquals (expectedString , stringBuilder .toString ().replaceAll (":\\ d+\\ )" , ":X)" ).//
8686 replaceAll ("\\ $\\ d" , "\\ $X" ));
8787 }
@@ -99,7 +99,7 @@ public void run() {
9999 });
100100 thread .start ();
101101 thread .join ();
102- expectedString = "[\" -------- STACK TRACE TRUNCATED --------\" ," + //
102+ expectedString = "[\" -------- STACK TRACE TRUNCATED --------\" ," + //
103103 "\" java.lang.IllegalArgumentException: too long\" ," + //
104104 "\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f3IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
105105 "\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f3IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
@@ -115,9 +115,17 @@ public void run() {
115115 "\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f1IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
116116 "\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.generateException(StacktraceGenerator.java:X)\" ," + //
117117 "\" \\ tat com.sap.hcp.cf.logging.common.converter.DefaultStacktraceConverterTest$X.run(DefaultStacktraceConverterTest.java:X)\" ," + //
118- "\" \\ tat java.lang.Thread .run(Thread.java:X)\" ]" ;
118+ "\" \\ tat " + getThreadClassName () + " .run(Thread.java:X)\" ]" ;
119119 Assert .assertEquals (expectedString , stringBuilder .toString ().replaceAll (":\\ d+\\ )" , ":X)" ).//
120120 replaceAll ("\\ $\\ d" , "\\ $X" ));
121121 }
122122
123+ // This method is required to account for the module path in stacktraces
124+ // after Java 9
125+ private String getThreadClassName () {
126+ String stackTraceElement = Thread .currentThread ().getStackTrace ()[0 ].toString ();
127+ int i = stackTraceElement .indexOf ("Thread" );
128+ return stackTraceElement .subSequence (0 , i ) + Thread .class .getSimpleName ();
129+ }
130+
123131}
0 commit comments