Skip to content

Commit fe94e0d

Browse files
Adopt Stacktraces to include module
Signed-off-by: Karsten Schnitter <[email protected]>
1 parent 08a0e46 commit fe94e0d

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

cf-java-logging-support-core/src/test/java/com/sap/hcp/cf/logging/common/converter/DefaultStacktraceConverterTest.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)