blob: 081a10061eb237ca5377150251b170904c1110d1 [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest
from telemetry.timeline import model as model_module
class ThreadUnittest(unittest.TestCase):
def testIterAllSlicesInRange(self):
model = model_module.TimelineModel()
renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
# [ X ] [ Y ] [ U ]
# [ Z ] [ T ]
# | |
# start end
renderer_main.BeginSlice('cat1', 'X', 10)
renderer_main.BeginSlice('cat1', 'Z', 20)
renderer_main.EndSlice(30)
renderer_main.EndSlice(40)
renderer_main.BeginSlice('cat1', 'Y', 50)
renderer_main.BeginSlice('cat1', 'T', 52)
renderer_main.EndSlice(55)
renderer_main.EndSlice(60)
renderer_main.BeginSlice('cat1', 'U', 60)
renderer_main.EndSlice(70)
model.FinalizeImport(shift_world_to_zero=False)
slice_names = set(s.name for s in
renderer_main.IterAllSlicesInRange(start=12, end=65))
self.assertEqual(slice_names, {'Z', 'Y', 'T'})