@@ -81,7 +81,7 @@ public void run() {
81
81
"\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f1IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
82
82
"\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.generateException(StacktraceGenerator.java:X)\" ," + //
83
83
"\" \\ 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)\" ]" ;
85
85
Assert .assertEquals (expectedString , stringBuilder .toString ().replaceAll (":\\ d+\\ )" , ":X)" ).//
86
86
replaceAll ("\\ $\\ d" , "\\ $X" ));
87
87
}
@@ -99,7 +99,7 @@ public void run() {
99
99
});
100
100
thread .start ();
101
101
thread .join ();
102
- expectedString = "[\" -------- STACK TRACE TRUNCATED --------\" ," + //
102
+ expectedString = "[\" -------- STACK TRACE TRUNCATED --------\" ," + //
103
103
"\" java.lang.IllegalArgumentException: too long\" ," + //
104
104
"\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f3IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
105
105
"\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f3IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
@@ -115,9 +115,17 @@ public void run() {
115
115
"\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.f1IsASimpleFunctionWithAnExceptionallyLongName(StacktraceGenerator.java:X)\" ," + //
116
116
"\" \\ tat com.sap.hcp.cf.logging.common.helper.StacktraceGenerator.generateException(StacktraceGenerator.java:X)\" ," + //
117
117
"\" \\ 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)\" ]" ;
119
119
Assert .assertEquals (expectedString , stringBuilder .toString ().replaceAll (":\\ d+\\ )" , ":X)" ).//
120
120
replaceAll ("\\ $\\ d" , "\\ $X" ));
121
121
}
122
122
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
+
123
131
}
0 commit comments