| Index: tools/telemetry/telemetry/core/timeline/thread_unittest.py
|
| diff --git a/tools/telemetry/telemetry/core/timeline/thread_unittest.py b/tools/telemetry/telemetry/core/timeline/thread_unittest.py
|
| index 4b5818ea4d71d76b1e4792a371df438c369e34b8..9121f0c3a67710d80603b6503fc8f151680091c1 100644
|
| --- a/tools/telemetry/telemetry/core/timeline/thread_unittest.py
|
| +++ b/tools/telemetry/telemetry/core/timeline/thread_unittest.py
|
| @@ -7,7 +7,7 @@ from telemetry.core.timeline import model as model_module
|
|
|
| class ThreadUnittest(unittest.TestCase):
|
|
|
| - def testIterAllSlicesInRange(self):
|
| + def testIterAllSlicesInTimeRange(self):
|
| model = model_module.TimelineModel()
|
| renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
|
| # [ X ] [ Y ] [ U ]
|
| @@ -27,5 +27,38 @@ class ThreadUnittest(unittest.TestCase):
|
|
|
| model.FinalizeImport(shift_world_to_zero=False)
|
| slice_names = set(s.name for s in
|
| - renderer_main.IterAllSlicesInRange(start=12, end=65))
|
| + renderer_main.IterAllSlicesInTimeRange(start=12, end=65))
|
| self.assertEqual(slice_names, {'Z', 'Y', 'T'})
|
| +
|
| + def testIterAllSlicesOverlappedWithThreadTimeRange(self):
|
| + model = model_module.TimelineModel()
|
| + renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
|
| + # [ X ] [ Y ] [ U ]
|
| + # [ Z ] [ T ]
|
| + # | |
|
| + # start end
|
| +
|
| + # Z starts at 5 and ends at 12 (thread time)
|
| + renderer_main.BeginSlice('cat1', 'Z', 10, 5)
|
| + renderer_main.EndSlice(20, 10)
|
| +
|
| + # X starts at 15 and ends at 25 (thread time)
|
| + # T starts at 17 and ends at 20 (thread time)
|
| + renderer_main.BeginSlice('cat1', 'X', 20, 15)
|
| + renderer_main.BeginSlice('cat1', 'T', 22, 17)
|
| + renderer_main.EndSlice(25, 20)
|
| + renderer_main.EndSlice(35, 25)
|
| +
|
| + # Y starts at 30 and ends at 45 (thread time)
|
| + renderer_main.BeginSlice('cat1', 'Y', 50, 30)
|
| + renderer_main.EndSlice(60, 45)
|
| +
|
| + # U starts at 55 and ends at 65 (thread time)
|
| + renderer_main.BeginSlice('cat1', 'U', 60, 55)
|
| + renderer_main.EndSlice(70, 65)
|
| +
|
| + model.FinalizeImport(shift_world_to_zero=False)
|
| + slice_names = set(
|
| + s.name for s in
|
| + renderer_main.IterAllSlicesOverlappedWithThreadTimeRange(16, 35))
|
| + self.assertEqual(slice_names, {'X', 'Y', 'T'})
|
|
|