# 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'})