cpu_test.js revision 66a37686207944273ced825e0e8b6b6375f8c3de
166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Copyright (c) 2013 The Chromium Authors. All rights reserved. 266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Use of this source code is governed by a BSD-style license that can be 366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// found in the LICENSE file. 466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis'use strict'; 666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.test_utils'); 866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.trace_model.cpu'); 966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 1066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.unittest.testSuite('tracing.trace_model.cpu', function() { 1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var Cpu = tracing.trace_model.Cpu; 1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('cpuBounds_Empty', function() { 1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var cpu = new Cpu(undefined, 1); 1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis cpu.updateBounds(); 1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(undefined, cpu.bounds.min); 1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(undefined, cpu.bounds.max); 1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('cpuBounds_OneSlice', function() { 2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var cpu = new Cpu(undefined, 1); 2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis cpu.slices.push(tracing.test_utils.newSlice(1, 3)); 2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis cpu.updateBounds(); 2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, cpu.bounds.min); 2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(4, cpu.bounds.max); 2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('getOrCreateCounter', function() { 2966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var cpu = new Cpu(undefined, 1); 3066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var ctrBar = cpu.getOrCreateCounter('foo', 'bar'); 3166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var ctrBar2 = cpu.getOrCreateCounter('foo', 'bar'); 3266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(ctrBar2, ctrBar); 3366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 3466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 3566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('shiftTimestampsForward', function() { 3666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var cpu = new Cpu(undefined, 1); 3766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var ctr = cpu.getOrCreateCounter('foo', 'bar'); 3866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis cpu.slices.push(tracing.test_utils.newSlice(1, 3)); 3966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var shiftCount = 0; 4066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ctr.shiftTimestampsForward = function(ts) { 4166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis if (ts == 0.32) 4266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis shiftCount++; 4366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }; 4466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis cpu.slices.push(tracing.test_utils.newSlice(1, 3)); 4566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis cpu.shiftTimestampsForward(0.32); 4666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(shiftCount, 1); 4766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1.32, cpu.slices[0].start); 4866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 4966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis}); 50