Commit bbea1df9 authored by miletus@chromium.org's avatar miletus@chromium.org

Make sure advancing non-zero time delta for mock timer in testScrollLatencyFromTimeline

This is a speculative fix for the flaky test
RenderingStatsUnitTest.testScrollLatencyFromTimeline  (crbug.com/358673)

I am not sure about the root cause and can't repro this locally.
Buy inspecting the code I feel there could be problems if the
default timer.Advance() advances 0ms. So lets always pass in explicit
low & high parameters into timer.Advance(low, high) and see if this fix
the flaky test.

Note: the root cause could have been fixed by 
https://src.chromium.org/viewvc/chrome?revision=261034&view=revision

This is CL could be just a nice add-on.
BUG=358673
TEST=unittests RenderingStatsUnitTest.* pass.

Review URL: https://codereview.chromium.org/220113008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261464 0039d316-1c4b-4281-b951-d872f2087c98
parent 29057003
...@@ -153,9 +153,9 @@ def AddInputLatencyStats(mock_timer, input_type, start_thread, end_thread, ...@@ -153,9 +153,9 @@ def AddInputLatencyStats(mock_timer, input_type, start_thread, end_thread,
ref_latency_stats: A ReferenceInputLatencyStats object for expected values. ref_latency_stats: A ReferenceInputLatencyStats object for expected values.
""" """
mock_timer.Advance() mock_timer.Advance(2, 4)
ui_comp_time = mock_timer.Get() * 1000.0 ui_comp_time = mock_timer.Get() * 1000.0
mock_timer.Advance() mock_timer.Advance(2, 4)
begin_comp_time = mock_timer.Get() * 1000.0 begin_comp_time = mock_timer.Get() * 1000.0
mock_timer.Advance(10, 20) mock_timer.Advance(10, 20)
end_comp_time = mock_timer.Get() * 1000.0 end_comp_time = mock_timer.Get() * 1000.0
...@@ -240,7 +240,7 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -240,7 +240,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
ref_stats = ReferenceRenderingStats() ref_stats = ReferenceRenderingStats()
# Create 10 main and impl rendering stats events for Action A. # Create 10 main and impl rendering stats events for Action A.
timer.Advance() timer.Advance(2, 4)
renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '') renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '')
ref_stats.AppendNewRange() ref_stats.AppendNewRange()
for i in xrange(0, 10): for i in xrange(0, 10):
...@@ -249,7 +249,7 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -249,7 +249,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
AddImplThreadRenderingStats(timer, renderer_compositor, first, None) AddImplThreadRenderingStats(timer, renderer_compositor, first, None)
AddMainThreadRenderingStats(timer, browser_main, first, ref_stats) AddMainThreadRenderingStats(timer, browser_main, first, ref_stats)
AddImplThreadRenderingStats(timer, browser_compositor, first, ref_stats) AddImplThreadRenderingStats(timer, browser_compositor, first, ref_stats)
timer.Advance() timer.Advance(2, 4)
renderer_main.EndSlice(timer.Get()) renderer_main.EndSlice(timer.Get())
# Create 5 main and impl rendering stats events not within any action. # Create 5 main and impl rendering stats events not within any action.
...@@ -261,7 +261,7 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -261,7 +261,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
AddImplThreadRenderingStats(timer, browser_compositor, first, None) AddImplThreadRenderingStats(timer, browser_compositor, first, None)
# Create 10 main and impl rendering stats events for Action B. # Create 10 main and impl rendering stats events for Action B.
timer.Advance() timer.Advance(2, 4)
renderer_main.BeginSlice('webkit.console', 'ActionB', timer.Get(), '') renderer_main.BeginSlice('webkit.console', 'ActionB', timer.Get(), '')
ref_stats.AppendNewRange() ref_stats.AppendNewRange()
for i in xrange(0, 10): for i in xrange(0, 10):
...@@ -270,11 +270,11 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -270,11 +270,11 @@ class RenderingStatsUnitTest(unittest.TestCase):
AddImplThreadRenderingStats(timer, renderer_compositor, first, None) AddImplThreadRenderingStats(timer, renderer_compositor, first, None)
AddMainThreadRenderingStats(timer, browser_main, first, ref_stats) AddMainThreadRenderingStats(timer, browser_main, first, ref_stats)
AddImplThreadRenderingStats(timer, browser_compositor, first, ref_stats) AddImplThreadRenderingStats(timer, browser_compositor, first, ref_stats)
timer.Advance() timer.Advance(2, 4)
renderer_main.EndSlice(timer.Get()) renderer_main.EndSlice(timer.Get())
# Create 10 main and impl rendering stats events for Action A. # Create 10 main and impl rendering stats events for Action A.
timer.Advance() timer.Advance(2, 4)
renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '') renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '')
ref_stats.AppendNewRange() ref_stats.AppendNewRange()
for i in xrange(0, 10): for i in xrange(0, 10):
...@@ -283,7 +283,7 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -283,7 +283,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
AddImplThreadRenderingStats(timer, renderer_compositor, first, None) AddImplThreadRenderingStats(timer, renderer_compositor, first, None)
AddMainThreadRenderingStats(timer, browser_main, first, ref_stats) AddMainThreadRenderingStats(timer, browser_main, first, ref_stats)
AddImplThreadRenderingStats(timer, browser_compositor, first, ref_stats) AddImplThreadRenderingStats(timer, browser_compositor, first, ref_stats)
timer.Advance() timer.Advance(2, 4)
renderer_main.EndSlice(timer.Get()) renderer_main.EndSlice(timer.Get())
browser.FinalizeImport() browser.FinalizeImport()
...@@ -324,7 +324,7 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -324,7 +324,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
ref_latency_stats = ReferenceInputLatencyStats() ref_latency_stats = ReferenceInputLatencyStats()
# Create 10 input latency stats events for Action A. # Create 10 input latency stats events for Action A.
timer.Advance() timer.Advance(2, 4)
renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '') renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '')
for _ in xrange(0, 10): for _ in xrange(0, 10):
AddInputLatencyStats(timer, 'MouseWheel', browser_main, AddInputLatencyStats(timer, 'MouseWheel', browser_main,
...@@ -333,10 +333,11 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -333,10 +333,11 @@ class RenderingStatsUnitTest(unittest.TestCase):
renderer_main, ref_latency_stats) renderer_main, ref_latency_stats)
AddInputLatencyStats(timer, 'TouchMove', browser_main, AddInputLatencyStats(timer, 'TouchMove', browser_main,
renderer_main, ref_latency_stats) renderer_main, ref_latency_stats)
timer.Advance() timer.Advance(2, 4)
renderer_main.EndSlice(timer.Get()) renderer_main.EndSlice(timer.Get())
# Create 5 input latency stats events not within any action. # Create 5 input latency stats events not within any action.
timer.Advance(2, 4)
for _ in xrange(0, 5): for _ in xrange(0, 5):
AddInputLatencyStats(timer, 'MouseWheel', browser_main, AddInputLatencyStats(timer, 'MouseWheel', browser_main,
renderer_main, None) renderer_main, None)
...@@ -346,7 +347,7 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -346,7 +347,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
renderer_main, None) renderer_main, None)
# Create 10 input latency stats events for Action B. # Create 10 input latency stats events for Action B.
timer.Advance() timer.Advance(2, 4)
renderer_main.BeginSlice('webkit.console', 'ActionB', timer.Get(), '') renderer_main.BeginSlice('webkit.console', 'ActionB', timer.Get(), '')
for _ in xrange(0, 10): for _ in xrange(0, 10):
AddInputLatencyStats(timer, 'MouseWheel', browser_main, AddInputLatencyStats(timer, 'MouseWheel', browser_main,
...@@ -355,11 +356,11 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -355,11 +356,11 @@ class RenderingStatsUnitTest(unittest.TestCase):
renderer_main, ref_latency_stats) renderer_main, ref_latency_stats)
AddInputLatencyStats(timer, 'TouchMove', browser_main, AddInputLatencyStats(timer, 'TouchMove', browser_main,
renderer_main, ref_latency_stats) renderer_main, ref_latency_stats)
timer.Advance() timer.Advance(2, 4)
renderer_main.EndSlice(timer.Get()) renderer_main.EndSlice(timer.Get())
# Create 10 input latency stats events for Action A. # Create 10 input latency stats events for Action A.
timer.Advance() timer.Advance(2, 4)
renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '') renderer_main.BeginSlice('webkit.console', 'ActionA', timer.Get(), '')
for _ in xrange(0, 10): for _ in xrange(0, 10):
AddInputLatencyStats(timer, 'MouseWheel', browser_main, AddInputLatencyStats(timer, 'MouseWheel', browser_main,
...@@ -368,7 +369,7 @@ class RenderingStatsUnitTest(unittest.TestCase): ...@@ -368,7 +369,7 @@ class RenderingStatsUnitTest(unittest.TestCase):
renderer_main, ref_latency_stats) renderer_main, ref_latency_stats)
AddInputLatencyStats(timer, 'TouchMove', browser_main, AddInputLatencyStats(timer, 'TouchMove', browser_main,
renderer_main, ref_latency_stats) renderer_main, ref_latency_stats)
timer.Advance() timer.Advance(2, 4)
renderer_main.EndSlice(timer.Get()) renderer_main.EndSlice(timer.Get())
browser.FinalizeImport() browser.FinalizeImport()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment