jdk/test/java/lang/StackWalker/VerifyStackTrace.java
changeset 41911 b3bb62588635
parent 40543 629f1f599595
equal deleted inserted replaced
41910:1383904abbd0 41911:b3bb62588635
    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")