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.importer.linux_perf_importer'); 966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 1066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.unittest.testSuite('tracing.importer.linux_perf.exynos_parser', 1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis function() { 1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('exynosImport', function() { 1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var lines = [ 1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' X-945 [001] .... 113.995549: exynos_flip_request: pipe=0', 1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' X-945 [001] .... 113.995561: exynos_flip_complete: pipe=0' 1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ]; 1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var m = new tracing.TraceModel(lines.join('\n'), false); 1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(0, m.importErrors.length); 1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var threads = m.getAllThreads(); 2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, threads.length); 2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var gfxFlipThread = threads[0]; 2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals('exynos_flip', gfxFlipThread.name); 2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, gfxFlipThread.sliceGroup.length); 2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('exynosBusfreqImport', function() { 2966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var lines = [ 3066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/1:0-4177 [001] .... 2803.129806: ' + 3166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'exynos_busfreq_target_int: frequency=200000', 3266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/1:0-4177 [001] .... 2803.229207: ' + 3366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'exynos_busfreq_target_int: frequency=267000', 3466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/1:0-4177 [001] .... 2803.329031: ' + 3566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'exynos_busfreq_target_int: frequency=160000', 3666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/1:0-4177 [001] .... 2805.729039: ' + 3766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'exynos_busfreq_target_mif: frequency=200000' 3866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ]; 3966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var m = new tracing.TraceModel(lines.join('\n'), false); 4066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(0, m.importErrors.length); 4166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 4266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var c0 = m.kernel.cpus[0]; 4366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(0, c0.slices.length); 446833e18b1d4077bf3a727b4422cc2acdbeee35a7Jamie Gennis assertEquals(3, c0.counters['INT Frequency'].series[0].samples.length); 456833e18b1d4077bf3a727b4422cc2acdbeee35a7Jamie Gennis assertEquals(1, c0.counters['MIF Frequency'].series[0].samples.length); 4666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 4766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 48