< prev index next >

test/java/lang/StackWalker/EmbeddedStackWalkTest.java

Print this page




 123             String caller = walker.walk(s ->
 124                 s.map(StackFrame::getClassName)
 125                  .filter(cn -> !cn.startsWith("jdk.internal.reflect.") && !cn.startsWith("java.lang.invoke"))
 126                  .skip(2).findFirst()
 127             ).get();
 128             assertEquals(caller, C2.class.getName());
 129 
 130             verify(walker, C1.class, "call");
 131             verify(walker, C2.class, "call");
 132             verify(walker, C2.class, "run");
 133             verify(walker, C2.class, "walk");
 134             verify(walker, C2.class, "testEmbeddedWalker");
 135         } // here is the end line number of approximate range, L136.
 136 
 137         static void verify(StackWalker walker, Class<?> c, String mn) {
 138             final String fileName = "EmbeddedStackWalkTest.java";
 139             walker.walk(s -> {
 140                 s.limit(BIG_LOOP)
 141                  .filter(f -> c.getName().equals(f.getClassName()) && mn.equals(f.getMethodName()))
 142                  .forEach(f -> {
 143                     assertEquals(f.getFileName().get(), fileName);
 144                     int line = f.getLineNumber().getAsInt();
 145                     assertTrue(line >= BEGIN_LINE && line <= END_LINE);
 146 
 147                     StackTraceElement st = f.toStackTraceElement();
 148                     assertEquals(c.getName(), st.getClassName());
 149                     assertEquals(mn, st.getMethodName());
 150                     assertEquals(st.getFileName(), fileName);
 151                     line = st.getLineNumber();
 152                     assertTrue(line >= BEGIN_LINE && line <= END_LINE);
 153                 });
 154                 return null;
 155             });
 156         }
 157     }
 158 }


 123             String caller = walker.walk(s ->
 124                 s.map(StackFrame::getClassName)
 125                  .filter(cn -> !cn.startsWith("jdk.internal.reflect.") && !cn.startsWith("java.lang.invoke"))
 126                  .skip(2).findFirst()
 127             ).get();
 128             assertEquals(caller, C2.class.getName());
 129 
 130             verify(walker, C1.class, "call");
 131             verify(walker, C2.class, "call");
 132             verify(walker, C2.class, "run");
 133             verify(walker, C2.class, "walk");
 134             verify(walker, C2.class, "testEmbeddedWalker");
 135         } // here is the end line number of approximate range, L136.
 136 
 137         static void verify(StackWalker walker, Class<?> c, String mn) {
 138             final String fileName = "EmbeddedStackWalkTest.java";
 139             walker.walk(s -> {
 140                 s.limit(BIG_LOOP)
 141                  .filter(f -> c.getName().equals(f.getClassName()) && mn.equals(f.getMethodName()))
 142                  .forEach(f -> {
 143                     assertEquals(f.getFileName(), fileName);
 144                     int line = f.getLineNumber();
 145                     assertTrue(line >= BEGIN_LINE && line <= END_LINE);
 146 
 147                     StackTraceElement st = f.toStackTraceElement();
 148                     assertEquals(c.getName(), st.getClassName());
 149                     assertEquals(mn, st.getMethodName());
 150                     assertEquals(st.getFileName(), fileName);
 151                     line = st.getLineNumber();
 152                     assertTrue(line >= BEGIN_LINE && line <= END_LINE);
 153                 });
 154                 return null;
 155             });
 156         }
 157     }
 158 }
< prev index next >