3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
8 <link rel="import" href="/tracing/test_utils.html">
9 <link rel="import" href="/tracing/timeline_track_view.html">
10 <link rel="import" href="/tracing/trace_model.html">
15 tvcm.unittest.testSuite(function() {
16 var Cpu = tracing.trace_model.Cpu;
17 var CpuTrack = tracing.tracks.CpuTrack;
18 var Slice = tracing.trace_model.Slice;
19 var StackFrame = tracing.trace_model.StackFrame;
20 var Sample = tracing.trace_model.Sample;
21 var Thread = tracing.trace_model.Thread;
22 var Viewport = tracing.TimelineViewport;
24 test('basicCpu', function() {
25 var cpu = new Cpu({}, 7);
27 new Slice('', 'a', 0, 1, {}, 1),
28 new Slice('', 'b', 1, 2.1, {}, 4.8)
32 var testEl = document.createElement('div');
33 var viewport = new Viewport(testEl);
35 var drawingContainer = new tracing.tracks.DrawingContainer(viewport);
37 var track = new CpuTrack(viewport);
38 drawingContainer.appendChild(track);
40 track.heading = 'CPU ' + cpu.cpuNumber;
42 var dt = new tracing.TimelineDisplayTransform();
43 dt.xSetWorldBounds(0, 11.1, track.clientWidth);
44 track.viewport.setDisplayTransformImmediately(dt);
48 test('withSamples', function() {
49 var model = new tracing.TraceModel();
52 model.importTraces([], false, false, function() {
53 cpu = model.kernel.getOrCreateCpu(1);
54 thread = model.getOrCreateProcess(1).getOrCreateThread(2);
56 var fA = model.addStackFrame(new StackFrame(
57 undefined, 1, 'cat', 'a', 7));
58 var fAB = model.addStackFrame(new StackFrame(
59 fA, 2, 'cat', 'b', 7));
60 var fABC = model.addStackFrame(new StackFrame(
61 fAB, 3, 'cat', 'c', 7));
62 var fAD = model.addStackFrame(new StackFrame(
63 fA, 4, 'cat', 'd', 7));
65 model.samples.push(new Sample(undefined, thread, 'instructions_retired',
67 model.samples.push(new Sample(undefined, thread, 'instructions_retired',
69 model.samples.push(new Sample(undefined, thread, 'instructions_retired',
71 model.samples.push(new Sample(undefined, thread, 'instructions_retired',
74 model.samples.push(new Sample(undefined, thread, 'page_fault',
76 model.samples.push(new Sample(undefined, thread, 'page_fault',
80 var testEl = document.createElement('div');
81 var viewport = new Viewport(testEl);
83 var drawingContainer = new tracing.tracks.DrawingContainer(viewport);
85 var track = new CpuTrack(viewport);
86 drawingContainer.appendChild(track);
88 track.heading = 'CPU ' + cpu.cpuNumber;
90 var dt = new tracing.TimelineDisplayTransform();
91 dt.xSetWorldBounds(0, 11.1, track.clientWidth);
92 track.viewport.setDisplayTransformImmediately(dt);