69 "1: VerifyStackTrace.lambda$test$1(VerifyStackTrace.java:209)\n" + |
69 "1: VerifyStackTrace.lambda$test$1(VerifyStackTrace.java:209)\n" + |
70 "2: VerifyStackTrace$Handle.execute(VerifyStackTrace.java:145)\n" + |
70 "2: VerifyStackTrace$Handle.execute(VerifyStackTrace.java:145)\n" + |
71 "3: VerifyStackTrace$Handle.run(VerifyStackTrace.java:158)\n" + |
71 "3: VerifyStackTrace$Handle.run(VerifyStackTrace.java:158)\n" + |
72 "4: VerifyStackTrace.invoke(VerifyStackTrace.java:188)\n" + |
72 "4: VerifyStackTrace.invoke(VerifyStackTrace.java:188)\n" + |
73 "5: VerifyStackTrace$1.run(VerifyStackTrace.java:218)\n" + |
73 "5: VerifyStackTrace$1.run(VerifyStackTrace.java:218)\n" + |
74 "6: java.security.AccessController.doPrivileged(java.base/Native Method)\n" + |
74 "6: java.base/java.security.AccessController.doPrivileged(Native Method)\n" + |
75 "7: VerifyStackTrace.test(VerifyStackTrace.java:227)\n" + |
75 "7: VerifyStackTrace.test(VerifyStackTrace.java:227)\n" + |
76 "8: VerifyStackTrace.main(VerifyStackTrace.java:182)\n"; |
76 "8: VerifyStackTrace.main(VerifyStackTrace.java:182)\n"; |
77 |
77 |
78 @Override public StackWalker walker() { return walker;} |
78 @Override public StackWalker walker() { return walker;} |
79 @Override public String description() { return description;} |
79 @Override public String description() { return description;} |
98 private final String expected = |
98 private final String expected = |
99 "1: VerifyStackTrace.lambda$test$1(VerifyStackTrace.java:211)\n" + |
99 "1: VerifyStackTrace.lambda$test$1(VerifyStackTrace.java:211)\n" + |
100 "2: VerifyStackTrace$Handle.execute(VerifyStackTrace.java:147)\n" + |
100 "2: VerifyStackTrace$Handle.execute(VerifyStackTrace.java:147)\n" + |
101 "3: VerifyStackTrace$Handle.run(VerifyStackTrace.java:160)\n" + |
101 "3: VerifyStackTrace$Handle.run(VerifyStackTrace.java:160)\n" + |
102 "4: VerifyStackTrace.invoke(VerifyStackTrace.java:190)\n" + |
102 "4: VerifyStackTrace.invoke(VerifyStackTrace.java:190)\n" + |
103 "5: jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base/Native Method)\n" + |
103 "5: java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n" + |
104 "6: jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base/NativeMethodAccessorImpl.java:62)\n" + |
104 "6: java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n" + |
105 "7: jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base/DelegatingMethodAccessorImpl.java:43)\n" + |
105 "7: java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n" + |
106 "8: java.lang.reflect.Method.invoke(java.base/Method.java:520)\n" + |
106 "8: java.base/java.lang.reflect.Method.invoke(Method.java:520)\n" + |
107 "9: VerifyStackTrace$1.run(VerifyStackTrace.java:220)\n" + |
107 "9: VerifyStackTrace$1.run(VerifyStackTrace.java:220)\n" + |
108 "10: java.security.AccessController.doPrivileged(java.base/Native Method)\n" + |
108 "10: java.base/java.security.AccessController.doPrivileged(Native Method)\n" + |
109 "11: VerifyStackTrace.test(VerifyStackTrace.java:229)\n" + |
109 "11: VerifyStackTrace.test(VerifyStackTrace.java:229)\n" + |
110 "12: VerifyStackTrace.main(VerifyStackTrace.java:185)\n"; |
110 "12: VerifyStackTrace.main(VerifyStackTrace.java:185)\n"; |
111 |
111 |
112 @Override public StackWalker walker() { return walker;} |
112 @Override public StackWalker walker() { return walker;} |
113 @Override public String description() { return description;} |
113 @Override public String description() { return description;} |
131 // test output in here (don't forget the final \n): |
131 // test output in here (don't forget the final \n): |
132 private final String expected = |
132 private final String expected = |
133 "1: VerifyStackTrace.lambda$test$1(VerifyStackTrace.java:213)\n" + |
133 "1: VerifyStackTrace.lambda$test$1(VerifyStackTrace.java:213)\n" + |
134 "2: VerifyStackTrace$$Lambda$1/662441761.run(Unknown Source)\n" + |
134 "2: VerifyStackTrace$$Lambda$1/662441761.run(Unknown Source)\n" + |
135 "3: VerifyStackTrace$Handle.execute(VerifyStackTrace.java:149)\n" + |
135 "3: VerifyStackTrace$Handle.execute(VerifyStackTrace.java:149)\n" + |
136 "4: java.lang.invoke.LambdaForm$DMH/2008017533.invokeVirtual_LL_V(java.base/LambdaForm$DMH)\n" + |
136 "4: java.base/java.lang.invoke.LambdaForm$DMH/2008017533.invokeVirtual_LL_V(LambdaForm$DMH)\n" + |
137 "5: java.lang.invoke.LambdaForm$MH/1395089624.invoke_MT(java.base/LambdaForm$MH)\n" + |
137 "5: java.base/java.lang.invoke.LambdaForm$MH/1395089624.invoke_MT(LambdaForm$MH)\n" + |
138 "6: VerifyStackTrace$Handle.run(VerifyStackTrace.java:162)\n" + |
138 "6: VerifyStackTrace$Handle.run(VerifyStackTrace.java:162)\n" + |
139 "7: VerifyStackTrace.invoke(VerifyStackTrace.java:192)\n" + |
139 "7: VerifyStackTrace.invoke(VerifyStackTrace.java:192)\n" + |
140 "8: jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base/Native Method)\n" + |
140 "8: java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n" + |
141 "9: jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base/NativeMethodAccessorImpl.java:62)\n" + |
141 "9: java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n" + |
142 "10: jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base/DelegatingMethodAccessorImpl.java:43)\n" + |
142 "10: java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n" + |
143 "11: java.lang.reflect.Method.invoke(java.base/Method.java:520)\n" + |
143 "11: java.base/java.lang.reflect.Method.invoke(Method.java:520)\n" + |
144 "12: VerifyStackTrace$1.run(VerifyStackTrace.java:222)\n" + |
144 "12: VerifyStackTrace$1.run(VerifyStackTrace.java:222)\n" + |
145 "13: java.security.AccessController.doPrivileged(java.base/Native Method)\n" + |
145 "13: java.base/java.security.AccessController.doPrivileged(Native Method)\n" + |
146 "14: VerifyStackTrace.test(VerifyStackTrace.java:231)\n" + |
146 "14: VerifyStackTrace.test(VerifyStackTrace.java:231)\n" + |
147 "15: VerifyStackTrace.main(VerifyStackTrace.java:188)\n"; |
147 "15: VerifyStackTrace.main(VerifyStackTrace.java:188)\n"; |
148 |
148 |
149 @Override public StackWalker walker() { return walker;} |
149 @Override public StackWalker walker() { return walker;} |
150 @Override public String description() { return description;} |
150 @Override public String description() { return description;} |
199 // Erase sensitive information before comparing: |
199 // Erase sensitive information before comparing: |
200 // comparing line numbers is too fragile, so we just erase them |
200 // comparing line numbers is too fragile, so we just erase them |
201 // out before comparing. We also erase the hash-like names of |
201 // out before comparing. We also erase the hash-like names of |
202 // synthetic frames introduced by lambdas & method handles |
202 // synthetic frames introduced by lambdas & method handles |
203 return produced.replaceAll(":[1-9][0-9]*\\)", ":00)") |
203 return produced.replaceAll(":[1-9][0-9]*\\)", ":00)") |
204 .replaceAll("-internal/", "/").replaceAll("-ea/", "/") |
|
205 .replaceAll("java.base@(\\d+\\.){0,3}(\\d+)/", "java.base/") |
|
206 .replaceAll("/[0-9]+\\.run", "/xxxxxxxx.run") |
204 .replaceAll("/[0-9]+\\.run", "/xxxxxxxx.run") |
207 .replaceAll("/[0-9]+\\.invoke", "/xxxxxxxx.invoke") |
205 .replaceAll("/[0-9]+\\.invoke", "/xxxxxxxx.invoke") |
208 // LFs may or may not be pre-generated, making frames differ |
206 // LFs may or may not be pre-generated, making frames differ |
209 .replaceAll("DirectMethodHandle\\$Holder", "LambdaForm\\$DMH") |
207 .replaceAll("DirectMethodHandle\\$Holder", "LambdaForm\\$DMH") |
210 .replaceAll("Invokers\\$Holder", "LambdaForm\\$MH") |
208 .replaceAll("Invokers\\$Holder", "LambdaForm\\$MH") |