• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2  <head>
3    <title>Profiler: focusing and exclusion test</title>
4    <script type="text/javascript" src="resources/fib.js"></script>
5  </head>
6  <body onload="run_fib()">
7    This test runs a simple looped computation to test focusing and
8    exclusion functionality of profile view grid.
9    <br>
10    <br>
11    To use this test:
12    <ul>
13      <li>load file in the browser;
14      <li>open DevTools (Ctrl+Shift+I on Win/Linux, Command+Option+I on Mac);
15      <li>go to 'Profiles' page;
16      <li>press 'Start profiling' button
17        (gray dot on the left side of status bar);
18      <li>wait for 5 seconds;
19      <li>press 'Stop profiling' button
20        (red dot on the left side of status bar);
21    </ul>
22    <br>
23    On the left pane under 'CPU profiles' section, an item called
24    'Profile 1' must appear, and a grid with profile data must
25    appear on the right. Now test the following functionality in the grid:
26    <br>
27    TEST 1:
28    <ul>
29      <li>select 'eternal_fib' function entry (without expanding it),
30        press 'Focus
31        on selected function' button (eye on the right of the status bar);
32      <li>ensure that only 'eternal_fib' function and its children are
33        left in the tree, and 'Total' column for the function shows
34        '100%' value;
35      <li>expand 'eternal_fib' function node;
36      <li>press 'Restore all functions' button;
37      <li>verify that the value in 'Total' column is less than 100%;
38      <li>verify that 'eternal_fib' function node is can still be
39        collapsed and expanded back;
40    </ul>
41    <br>
42    TEST 2:
43    <ul>
44      <li>expand two levels of 'Script:' node, select the second-level
45        node;
46      <li>repeat the same steps for the selected node (in this case, immediate
47        parent nodes of the focused node must also remain visible after
48        focusing);
49    </ul>
50    <br>
51    TEST 3:
52    <ul>
53      <li>by expanding 'Script:' node, make sure that at least 3
54        'eternal_fib' function nodes are visible;
55      <li>select any of 'eternal_fib' nodes and press
56        'Exclude selected function' (cross) button on the status bar;
57      <li>verify that all 'eternal_fib' nodes are no more visible;
58      <li>expand more 'Script:' node levels, verify that no new
59        'eternal_fib' nodes appear with expansion;
60      <li>press 'Restore all functions' button;
61      <li>verify that 'eternal_fib' nodes are now visible;
62    </ul>
63    <br>
64    TESTS 4 and 5:
65    <br>
66    Now switch to 'Tree (Top Down)' view and repeat testing steps.
67    For the 'Exclude selected function' function test, use
68    'Script:' function node, as 'eternal_fib' has only
69    one entry in this view.
70  </body>
71</html>
72